????Android??????16??С?????????????λ??Android????????????????????
????1.TextView?е?getTextSize?????????????(px)???λ???
??????setTextSize()????sp???λ??.
???????????????÷?????????????????????????setTextSize()???????????????????????λ??
????setTextSize(int unit??int size)
????TypedValue.COMPLEX_UNIT_PX:Pixels
????TypedValue.COMPLEX_UNIT_SP:Scaled Pixels
????TypedValue.COMPLEX_UNIT_DIP:Device Independent Pixels
????2.??????View???????bitmap??????????????????drawable-xdpi?У????????????????С???????
????3.???????м??????:textView.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
????4.scrollView??????frameLayout???????????LayoutParams??????frameLayout??
????5.??Android?м??????????????

????(1)???TCP/IP??Socket??ServerSocket
????(2)???UDP??DatagramSocket??DatagramPackage?????????????????????Android?豸????????????IP???????????????з????????????????????????????????????????????????????
????(3)??????URL??HttpURLConnection
????(4)Google??????Apache HTTP???????????HTTP??????????????HTTP??Google??????Appache Http core??httpclient 4?汾???????????Android?????httpclient 3.x??У??????????????Multipart??MIME??????????????httpmime.jar
????(5)???Web Service??Android??????????????Jackson????Xmlrpc??Jsonrpc?????????????Ksoap2????Webservice
????(6)??????WebView??????????????????WebView???п?????Google??????????????chrome-lite??Web????????????????????????????
????6.TranslateAnimation(float fromXDelta??float toXDelta??float fromYDelta??float toYDelta)
????????????????????????????
????float fromXDelta:???????????????????????View X???????????
????float toXDelta??????????????????????????View X???????????
????float fromYDelta?????????????????????????View Y???????????
????float toYDelta)???????????????????????View Y???????????
???????view??A(x??y)????????????B??(x+fromXDelta??y+fromYDelta)???????C??(x+toXDelta??y+toYDelta)??.
????7.android?????????????????з???UI?????????
????Activity.runOnUiThread(Runnable)
????View.post(Runnable)
????View.postDelayed(Runnable??long)
?????????????????????????TextView?н???????????????
????package org.unique.async;
????import java.io.ByteArrayOutputStream;
????import java.io.InputStream;
????import java.util.ArrayList;
????import org.apache.http.HttpEntity;
????import org.apache.http.HttpResponse;
????import org.apache.http.client.HttpClient;
????import org.apache.http.client.methods.HttpGet;
????import org.apache.http.impl.client.DefaultHttpClient;
????import android.app.Activity;
????import android.app.ProgressDialog;
????import android.content.Context;
????import android.content.DialogInterface;
????import android.os.AsyncTask;
????import android.os.Bundle;
????import android.os.Handler;
????import android.os.Message;
????import android.view.View;
????import android.widget.Button;
????import android.widget.EditText;
????import android.widget.TextView;
????public class NetworkActivity extends Activity{
????private TextView message;
????private Button open;
????private EditText url;
????@Override
????public void onCreate(Bundle savedInstanceState){
????super.onCreate(savedInstanceState);
????setContentView(R.layout.network);
????message=(TextView)findViewById(R.id.message);
????url=(EditText)findViewById(R.id.url);
????open=(Button)findViewById(R.id.open);
????open.setOnClickListener(new View.OnClickListener(){
????public void onClick(View arg0){
????connect();
????}
????});
????}
????private void connect(){
????PageTask task=new PageTask(this);
????task.execute(url.getText().toString());
????}
????class PageTask extends AsyncTask<String??Integer??String>{
????//????????????????AsyncTask.exucute()???
????ProgressDialog pdialog;
????public PageTask(Context context){
????pdialog=new ProgressDialog(context??0);
????pdialog.setButton("cancel"??new DialogInterface.OnClickListener(){
????public void onClick(DialogInterface dialog??int i){
????dialog.cancel();
????}
????});
????pdialog.setOnCancelListener(new DialogInterface.OnCancelListener(){
????public void onCancel(DialogInterface dialog){
????finish();
????}
????});
????pdialog.setCancelable(true);
????pdialog.setMax(100);
????pdialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
????pdialog.show();
????}
????@Override
????protected String doInBackground(String...params){
????try{
????HttpClient client=new DefaultHttpClient();
????//params[0]?????????url
????HttpGet get=new HttpGet(params[0]);
????HttpResponse response=client.execute(get);
????HttpEntity entity=response.getEntity();
????long length=entity.getContentLength();
????InputStream is=entity.getContent();
????String s=null;
????if(is!=null){
????ByteArrayOutputStream baos=new ByteArrayOutputStream();
????byte[]buf=new byte[128];
????int ch=-1;
????int count=0;
????while((ch=is.read(buf))!=-1){
????baos.write(buf??0??ch);
????count+=ch;
????if(length>0){
????//???????????????????publishProgress???????????
????publishProgress((int)((count/(float)length)*100));
????}
????//?????????100ms
????Thread.sleep(100);
????}
????s=new String(baos.toByteArray());}
????//??????
????return s;
????}catch(Exception e){
????e.printStackTrace();
????}
????return null;
????}
????@Override
????protected void onCancelled(){
????super.onCancelled();
????}
????@Override
????protected void onPostExecute(String result){
????//????HTML????????
????message.setText(result);
????pdialog.dismiss();
????}
????@Override
????protected void onPreExecute(){
????//???????????????????????????????????????
????message.setText(R.string.task_started);
????}
????@Override
????protected void onProgressUpdate(Integer...values){
????//???????
????System.out.println(""+values[0]);
????message.setText(""+values[0]);
????pdialog.setProgress(values[0]);
????}
????}
????}
????8.Spinner????????dialog??tabhost?е?????
????9.eclipse????JDK???

????(1).??“window”->“Preferences”->“Java”->“Installed JRES”
????(2).???”Installed JRES”??????б?????г??????е?JRE????????????JRE??????????“Edit…”??????????????(Edit JRE)
????(3).???rt.jar??????????“c:program filesjavajre_1.5.0_06lib t.jar”??????“+”?????????
????(4).????????????“Source Attachment:(none)”?????????????????“Source Attachment…”????????JDK???μ?“src.zip”???
????10.Unable to open sync connection??
?????????????USB????????
????11.EditText???ù??λ??????
????EditText?????Щ?????????????????????棬??????????setSelection(0)???????????????P1000???????????????о?????????????EditText.requestFocus()???????setSelection(0)????????????2.x???????????????3.x???????????
????12.Android??Home?????????????????????????????onKeyDown???????????????home?????????activity??view???Щ???????????????????.???????????????onAttachWindow??????Home????????
????13.????surfaceView?????????????????????г???????View???????surfaceView??????View????layout?У??????????????view????
????14.???android:imeOptinos???Android??????????????Щ????????????

????android:imeOptions="flagNoExtractUi"//???????????????????????????
?????????????????????????????????????????????????????????
????android:imeOptions="actionNone"//???????????κ????
????android:imeOptions="actionGo"//?????????????'???'
????android:imeOptions="actionSearch"//????????????????????
????android:imeOptions="actionSend"//?????????????'????'
????android:imeOptions="actionNext"//?????????????'?????'
????android:imeOptions="actionDone"//?????????????'???'
????15.?TextView??????
????<style name="Overlay">
????<item name="android:paddingLeft">2dip</item>
????<item name="android:paddingBottom">2dip</item>
????<item name="android:textColor">#ffffff</item>
????<item name="android:textSize">12sp</item>
????<item name="android:shadowColor">#00ff00</item>
????<item name="android:shadowDx">5</item>
????<item name="android:shadowDy">3</item>
????<item name="android:shadowRadius">6</item>
????</style>
????<TextView android:id="@+id/test"
????android:layout_width="fill_parent"
????android:layout_height="wrap_content"
????style="@style/<span style="background-color:rgb(250??250??250);font-family:Helvetica??Tahoma??Arial??sans-serif;">Overlay</span>"
????android:text="test"
????android:gravity="center"/>
????16.??ν?TextView?е????????ó???壿
??????xml????????android:textStyle=”bold”???????????ó???壬???????????????ó???壬?????????ó???????????
????TextView tv=(TextView)findViewById(R.id.TextView01);
????TextPaint tp=tv.getPaint();
????tp.setFakeBoldText(true);