当前位置: 代码迷 >> Android >> Android-治理Android手机桌面
  详细解决方案

Android-治理Android手机桌面

热度:62   发布时间:2016-05-01 17:40:36.0
Android-管理Android手机桌面

Android-管理Android手机桌面

没有接触手机编程之前,我就很好奇,那些主题背景和动态壁纸是如何做出来的,如何把图标放到手机桌面上,学习了关于管理Android手机桌面之后,我大致了解了这些内容,算是扫了一下盲了。

我相信只要用过一段Android系统手机的用户,对于手机桌面的操作是非常明了的。比如删除桌面组件,添加相应的组件到桌面这些简单的操作。

关于手机桌面的这部分内容,我自己学习了如何开发实时壁纸(Live Wallpapers),如何在桌面上创建快捷方式,管理桌面小控件,如何开发实时文件夹(LiveFolder)等。

 

下面是一个显示生词本的实时文件夹的实例

这个实时文件夹显示ContentProvider的数据,这要把之前开发DictProvider部署到模拟器中,才可以用实时文件显示ContentProvider返回的数据

 

创建项目:WordsLiveFolder

运行项目效果:

   

 

       

 

     

 

package org.wwj.desktop;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.provider.LiveFolders;public class WordsLiveFolder extends Activity{	@Override	protected void onCreate(Bundle savedInstanceState) {		// TODO Auto-generated method stub		super.onCreate(savedInstanceState);		//如果该Intent的Action是创建实时文件夹的Action		if(getIntent().getAction().equals(LiveFolders.ACTION_CREATE_LIVE_FOLDER)){			Intent intent = new Intent();			//设置实时文件夹所显示ContentProvider提供的数据的uri			intent.setData(Uri.parse("content://org.crazyit.providers.dictprovider/words"));			//设置实时文件夹的base intent属性			intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_BASE_INTENT, new Intent(Intent.ACTION_VIEW					, Uri.parse("content://org.crazyit.providers.dictprovider/word/")));			//设置实时文件夹的名称			intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_NAME, "生词本");			//设置实时文件夹的图标			intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_ICON, Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher));			//设置实时文件夹的显示模式			intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_DISPLAY_MODE, LiveFolders.DISPLAY_MODE_GRID);			setResult(RESULT_OK, intent);		}		else{			setResult(RESULT_CANCELED);		}		//结束该Activity		finish();	}}


 

        <activity android:name=".WordsLiveFolder"            android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.CREATE_LIVE_FOLDER"/>                <category android:name="android.intent.category.DEFAULT"/>            </intent-filter>        </activity>


 

 

package org.wwj.desktop;import android.app.Activity;import android.content.ContentUris;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.widget.EditText;public class ShowWordActivity extends Activity{	EditText etWord , etDescription;	@Override	public void onCreate(Bundle savedInstanceState)	{		super.onCreate(savedInstanceState);		setContentView(R.layout.show);		// 获取界面组件		etWord = (EditText) findViewById(R.id.word);		etDescription = (EditText) findViewById(R.id.description);		Uri uri = getIntent().getData();		// 获取单词ID		long id = ContentUris.parseId(uri);		// 从ContentProvider查询指定单词		Cursor cursor = getContentResolver().query(			Uri.parse("content://org.crazyit.providers.dictprovider/words")			, null , "_id=?" , new String[]{id + ""} , null );		if(cursor.moveToNext())		{			// 使用界面组件显示查询得到的结果			etWord.setText(cursor.getString(1));			etDescription.setText(cursor.getString(2));		}	}}


 

<activity            android:name=".ShowWordActivity"            android:label="@string/title_activity_show_word" >            <intent-filter>				<action android:name="android.intent.action.VIEW"/>				<category android:name="android.intent.category.DEFAULT"/>				<data android:mimeType="vnd.android.cursor.item/org.crazyit.dict"/>            </intent-filter>        </activity>


 

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"	android:orientation="vertical"	android:layout_width="fill_parent"	android:layout_height="fill_parent"	><TextView	android:layout_width="fill_parent"	android:layout_height="wrap_content"	android:text="@string/word"/><EditText	android:id="@+id/word"	android:layout_width="fill_parent"	android:layout_height="wrap_content"	android:cursorVisible="false"	android:editable="false"/><TextView	android:layout_width="fill_parent"	android:layout_height="wrap_content"	android:text="@string/description"/><EditText	android:id="@+id/description"	android:layout_width="fill_parent"	android:layout_height="wrap_content"	android:lines="3"	android:cursorVisible="false"	android:editable="false"/></LinearLayout>


 

 

 

  相关解决方案