android編程中的瑣碎知識點匯總(4)

來源:互聯網
上載者:User

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.             null, null, null );    
  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, null, null, null);  
  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(0, 0, 10, 0); 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 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.