android编程中的琐碎知识点汇总(4)

1.从SMS获取联系人信息

Java代码  收藏代码
  1. ContactItem getContactByAddr(Context context, final SMSItem sms) {    
  2.     Uri personUri = Uri.withAppendedPath(    
  3.             ContactsContract.PhoneLookup.CONTENT_FILTER_URI, sms.mAddress);    
  4.     Cursor cur = context.getContentResolver().query(personUri,    
  5.             new String[] { PhoneLookup.DISPLAY_NAME },    
  6.             nullnullnull );    
  7.     if( cur.moveToFirst() ) {    
  8.         int nameIdx = cur.getColumnIndex(PhoneLookup.DISPLAY_NAME);    
  9.         ContactItem item = new ContactItem();    
  10.         item.mName = cur.getString(nameIdx);    
  11.        cur.close();    
  12.        return item;    
  13.    }    
  14.    return null;    
  15. }  

 

2.从gallery获取图片并显示

Java代码  收藏代码
  1. protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {   
  2.     super.onActivityResult(requestCode, resultCode, imageReturnedIntent);   
  3.   
  4.     switch(requestCode) {   
  5.     case REQ_CODE_PICK_IMAGE:  
  6.         if(resultCode == RESULT_OK){    
  7.             Uri selectedImage = imageReturnedIntent.getData();  
  8.             String[] filePathColumn = {MediaStore.Images.Media.DATA};  
  9.             Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, nullnullnull);  
  10.             cursor.moveToFirst();  
  11.             int columnIndex = cursor.getColumnIndex(filePathColumn[0]);  
  12.             String filePath = cursor.getString(columnIndex);  
  13.             cursor.close();  
  14.             Bitmap yourSelectedImage = BitmapFactory.decodeFile(filePath);  
  15.         }  
  16.     }  
  17. }  

 

 3.service 里面使用toast

Java代码  收藏代码
  1. public class ConnectionService extends Service {    
  2.   private Handler handler = new Handler();  
  3.   
  4.   public void restartConnection(){  
  5.      int sleepTime = reconnectCounter * MIN_RECON_WAIT;  
  6.      if (sleepTime > MAX_RECON_WAIT){  
  7.         sleepTime = MAX_RECON_WAIT;  
  8.      }  
  9.      String msg = "The connection has been lost.  Restart attempt will start in: " + sleepTime/1000 + " seconds";  
  10.      (new Timer()).schedule(  
  11.      new TimerTask() {  
  12.         public void run() {  
  13.            handler.post(new Runnable() {  
  14.               public void run() {  
  15.                  Toast.makeText(getApplicationContext(), "msg", Toast.LENGTH_LONG).show();  
  16.                  reconnectCounter++;  
  17.                  this.startConnectionThread()  
  18.               }  
  19.            });  
  20.         }  
  21.      }, sleepTime);  
  22.   }//end restartConnection  
  23. }//end ConnectionService  

 

 4.禁用webView 放大缩小

Xml代码  收藏代码
  1. <meta content='width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;' name='viewport' />  
  2. <meta name="viewport" content="width=device-width" />  

 

 5.margin代码实现View周围空出距离

Java代码  收藏代码
  1. extView tv = (TextView)findViewById(R.id.my_text_view);  
  2. LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)tv.getLayoutParams();  
  3. params.setMargins(00100); tv.setLayoutParams(params);  

 

6.内部类的使用

Xml代码  收藏代码
  1. <view class="com.android.notepad.NoteEditor$MyEditText"   
  2.     id="@+id/note"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:background="@android:drawable/empty"  
  6.     android:padding="10dip"  
  7.     android:scrollbars="vertical"  
  8.     android:fadingEdge="vertical" />  

 

7.使用本地tomcat自己搭建服务器注意点:

Java代码  收藏代码
  1. 在模拟器上可以用10.0.2.2代替127.0.0.1和localhost   
  2. 在局域网环境可以用 192.168.0.x或者192.168.1.x(根据具体配置)连接本机   

 

8.反编译apk中的文件或者生成apk所用到的:

Java代码  收藏代码
  1. 事先声明必须使用相关工具  
  2.   
  3. 反编译xml为我们可以看懂的格式  
  4. java -jar AXMLPrinter2.jar ***.xml>***.txt  
  5. 发编译classes.dex到当前目录的classout中  
  6. java -jar baksmali.jar -o classout/ classes.dex  
  7. 编译classout下的文件为classes.dex  
  8. java -jar smali.jar classout/ -o classes.dex 
posted @ 2012-01-06 16:26  tokeep  阅读(181)  评论(0编辑  收藏  举报