当前位置:首页>优优资讯 > 软件教程 > 电脑软件教程 > Android开发:14个解决实际问题的代码片段

Android开发:14个解决实际问题的代码片段

作者:本站整理 时间:2015-08-19


  在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();
  }
  }
 

相关文章

相关推荐

最新攻略

用户评论

(已有0条评论)
表情
注:您的评论需要经过审核才能显示哦,请文明发言!
还没有评论,快来抢沙发吧!