Android开发:14个解决实际问题的代码片段
Android开发:14个解决实际问题的代码片段
发布时间:2016-03-01 来源:查字典编辑
摘要:在Android编程开发中都会遇到哪些问题呢?在这里为初学者介绍了十四段简单实用的代码,保存下来需要时轻松一键获得。其中包括检查是否有SD卡...

在Android编程开发中都会遇到哪些问题呢?在这里为初学者介绍了十四段简单实用的代码,保存下来需要时轻松一键获得。其中包括检查是否有SD卡,让某个Activity透明,在屏幕元素中设置句柄等等在实际应用经常用到的简短代码。

1、查看是否有存储卡插入

String status=Environment.getExternalStorageState();

if ( status.equals ( Enviroment.MEDIA_MOUNTED ) )

{

说明有SD卡插入

}

2、让某个Activity透明

OnCreate中不设Layout

this.setTheme(R.style.Theme_Transparent);

以下是Theme_Transparent的定义(注意transparent_bg是一副透明的图片)

3、在屏幕元素中设置句柄

使用Activity.findViewById来取得屏幕上的元素的句柄,使用该句柄您可以设置或获取任何该对象外露的值。

TextView msgTextView = (TextView)findViewById(R.id.msg);

msgTextView.setText(R.string.push_me);

4、发送短信

String body=”this is mms demo”;

Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(”smsto”, number, null));

mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);

mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true);

mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true);

startActivity(mmsintent);

5、发送彩信

StringBuilder sb = new StringBuilder();

sb.append(”file://”);

sb.append(fd.getAbsoluteFile());

Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(”mmsto”, number, null));

// Below extra datas are all optional.

intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject);

intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);

intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, sb.toString());

intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, composeMode);

intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, exitOnSent);

startActivity(intent);

6、显示toast

view plaincopy

Toast.makeText(this._getApplicationContext(), R.string._item, Toast.LENGTH_SHORT).show();

7、发送Mail

mime = “img/jpg”;

shareIntent.setDataAndType(Uri.fromFile(fd), mime);

shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(fd));

shareIntent.putExtra(Intent.EXTRA_SUBJECT, subject);

shareIntent.putExtra(Intent.EXTRA_TEXT, body);

8、注册一个BroadcastReceiver

registerReceiver(mMasterResetReciever, new IntentFilter(”OMS.action.MASTERRESET”));

private BroadcastReceiver mMasterResetReciever = new BroadcastReceiver()

{

public void onReceive(Context context, Intent intent)

{

String action = intent.getAction();

if (”oms.action.MASTERRESET”.equals(action) )

{

RecoverDefaultConfig();

}

}

};

9、定义ContentObserver,监听某个数据表

private ContentObserver mDownloadsObserver = new DownloadsChangeObserver(Downloads.CONTENT_URI);

private class DownloadsChangeObserver extends ContentObserver

{

public DownloadsChangeObserver(Uri uri)

{

super(new Handler());

}

@Override

public void onChange(boolean selfChange) {}

}

10、获得手机UA

public String getUserAgent()

{

String user_agent = ProductProperties.get(ProductProperties.USER_AGENT_KEY, null);

return user_agent;

}

11、清空手机上cookie

CookieSyncManager.createInstance (getApplicationContext() );

CookieManager.getInstance().removeAllCookie();

12、建立GPRS连接

//Dial the GPRS link.

private boolean openDataConnection()

{

// Set up data connection.

DataConnection conn = DataConnection.getInstance();

if ( connectMode == 0 )

{

ret = conn.openConnection ( mContext, “cmwap”, "cmwap”, "cmwap” );

}

else

{

ret = conn.openConnection(mContext, “cmnet”, "", "");

}

}

13、PreferenceActivity 用法

public class Setting extends PreferenceActivity

{

public void onCreate ( Bundle savedInstanceState )

{

super.onCreate ( savedInstanceState );

addPreferencesFromResource ( R.xml.settings );

}

}

Setting.xml:

[java]

Android:key=”seting2″

android:title=”@string/seting2″

android:summary=”@string/seting2″/>

android:key=”seting1″

android:title=”@string/seting1″

android:summaryOff=”@string/seting1summaryOff”

android:summaryOn=”@stringseting1summaryOff”/>

14、通过HttpClient从指定server获取数据

DefaultHttpClient httpClient = new DefaultHttpClient();

HttpGet method = new HttpGet(“/templets/default/index.html”);

HttpResponse resp;

Reader reader = null;

try {

// AllClientPNames.TIMEOUT

HttpParams params = new BasicHttpParams();

params.setIntParameter(AllClientPNames.CONNECTION_TIMEOUT, 10000);

httpClient.setParams(params);

resp = httpClient.execute(method);

int status = resp.getStatusLine().getStatusCode();

if (status != HttpStatus.SC_OK)

{

return false;

}

// HttpStatus.SC_OK;

return true;

}

catch (ClientProtocolException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

catch (IOException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

finally

{

if (reader != null)

try

{

reader.close();

}

catch (IOException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类