您的位置:首页 > 移动开发 > Android开发

android开发 常用技巧

2013-04-02 09:00 405 查看
1> 通用布局 android:orientation="horizontal"/"vertical"(垂直)

android:layout_width="fill_parent" /"wrap_content"

2> 超链连:android:autoLink="all"

<TextView

android:id="@+id/myTextView3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="welcom: http://www.google.com/"

android:layout_x="10px"

android:layout_y="150px"

android:autoLink="all"

>

</TextView>

3》 转义定符:\

转义字符:

\?

\'

4> 数据类型转换:CharSequence

CharSequence str=getString(R.string.str2);

myTextView.setText(str);

5 》myTextView.setText("")

myTextView.setTextColor(Color.MANENTA);

findViewById(R.id.myTextView1);

6>获取屏幕大小:DisplayMetrics dm=new DisplayMetrics();//import android.util.DisplayMetrics

getWindowManager().getDefaultDisplay().getMetrics(dm);

String stropu="手机屏幕分辨率为:"+dm.widthPixels + "*"+dm.heightPixels;

myTextView.setText(stropu);

7>android css 应用:

1>style.xml

<resources>

<style name="styleText1">

<item name="android:textSize">14sp</item>

<item name="android:textColor">#FFFFFFFF</item>

</style>

</resources>

<TextView

style="@style/styleText1"

android:text="@string/myTextView"

---

></TextView>

8> Button事件 OnClickListener

1> extends Activity;OnCreate()

2> super.OnCreate()

3> setContentView(R.layout.main);

4> Button mybutton=(Button)findViewById(R.id.mybt1);

mybutton.setOnClickListener(new Button.OnClickListener()

{

@Override

public void OnClick(View v)

{

myTextView.setText("hi,l am click");

}

}

);

9>通过setContentView()手机页面的转换

在按钮事件里加入 setContentView(R.layout.main2);

10》 一个ACTIVITY 里调用另一个ACTIVITY,在按钮事件里将Activity启动,Intent来页面间转递数据

Intent intent=new Intent();

intent.setClass(class1.this,class2.class);

TextView myText=(TextView)findViewById(R.id.myusername);

String username=myText.getText.ToString();

Bundle bundle =new Bundle();

bundle.putString("myname",username);

intent.putExtras(bundle);

startActivity(intent);

class1.this.finish();

--------------------

Bundle bundle=this.getIntent().getExtras();

string username=bundle.getString("myname");

remark:有多个Activity时,必须在androidManifest.xml定义.

11>use startActivityForResult moth return to activity1

startActivity(intent);

startActivityForResult(intent,0);

12>具有交互功能的对话框:

new AlertDIalog.Builder(class1.this).setTitle(R.string.app_about).setMessage(R.string.app_msg).setPositiveButton

{

R.string.str_ok,

new DialogInterface.OnClickListener()

{

public void onClick(DialogInterface dialoginterface,int i)

{

/* click event */

}

}

}

13> 文字的大小和字体改变:可用外部字体,可用ANDROID内部字体(表)

myTextVieW.setTextSize(20);

myTextView.setTypeface(Typeface.createFromAsset(getAsset(),"fonts/HandmadeTypewridter.ttf"));

引用文件地址:assets/fonts/HandmadeTyperwridter.ttf ,其中字体文件必须符合Ture Type Font格式

14> 拖动图片效果:

android.content.Context,

android.widget.BaseAdapter,

android.widget.ImageView,

((Gallery) findViewById(R.id.myGallery1)).setAdapter(new ImageAdapter(this));

15>计算器:string sum=Interger.parseInt(myeditText1.getText().tostring()) + Interger.parseInt(myeditText2.getText().tostring())

myTextView2.setText(sum);

Float.parseFloat(myEditText1.getText());

16>about关于程度信息:android.view.Menu;android.view.MenuItem;

两个类函数:onCreateOptionsMenu(),onPtionsItemSelected(),

public boolean onCreateOptionsMenu(Menu menu)

{

menu.add(0,0,0,R.string.app_about);

menu.add(0,1,1,R.string.str_exit);

return.super.onCreateOptionsMenu(menu);

}

public boolean onOptionsItemSelected(MenuItem item)

{

super.onOptionsItemSelected(item);

switch(item.getItemId()

{

case 0:

opentOptionsDialgo();

bread;

case 1:

finish();

break;

}

return true;

}

private void openOptionsDialog()

{

new AlertDialog.Builder(this)

.setTitle(R.string.app_about)

.setMessage(R.string.app_about_msg)

.setPositiveButton(R.string.str_ok),new DialogInterface.OnClickListener()

{

public void onClick(DialogInterface dialoginterface,int i)

{

/** */

}

}

).show();

}

17> progressDialog 与线程的应用:android.app.ProgressDialog

18>动态生成按钮并最大化:

19>选择功能对话框:

String[] arryShop=getResources().getStringArray(R.array.items_dialog);

<resources>

<item>string1</item>

<item>string2</item>

</resources>

20>主题变化:Style

setTheme(R.style.Theme_transparent);

setTheme(R.style.Theme_translucent);

21 打勾显示输入的密码:android.text.method.HideReturnsTransformationMethod;

android.text.method.PasswordTransformationMethod;

if(mycheckbox.isChecked)

{

mycheckbox.setTransformationMethod(HideReturnsTransformationMethod.getInstance());

}

else

{

mycheckbox.setTrandFormationMethod(PasswordTransformethod.getInstance());

}

22>android支持多语言:

setContentView(R.layout.main);

@Override

protected void onStart()

{

Resources res = getResources();

/* 更改语系为JAPAN */

Configuration conf = res.getConfiguration();

conf.locale = Locale.JAPAN;

DisplayMetrics dm = res.getDisplayMetrics();

/* 保存语系变更 */

res.updateConfiguration(conf, dm);

super.onStart();

}

-----------------------------------高级应用 ---------------------------------

1 EditText输入文字时的ajax效果:OnKeyListener, OnKey()

myEditText.setOnKeyListener(new EditText.OnKeyListener()

{

@Override

public boolean onKey(View arg0,int arg1,KeyEvent arg2)

{

myTextView.setText(myEditText.getText());

}

});

2> 设计具有背景图的按钮:ImageButton.setImageResource(R.drawable.iconfull);

public void onFocusChange(View arg0, boolean isFocused)

{

// TODO Auto-generated method stub

/*若ImageButton状态为onFocus改变ImageButton的图片 * 并改变textView的文字*/

if (isFocused==true)

{

mTextView1.setText("图片按钮状态为:Got Focus");

mImageButton1.setImageResource(R.drawable.iconfull);

}

/*若ImageButton状态为offFocus改变ImageButton的图片 *并改变textView的文字*/

else

{

mTextView1.setText("图片按钮状态为:Lost Focus");

mImageButton1.setImageResource(R.drawable.iconempty);

}

}

3> toast 提示小对象的应用:

Toast.makeText(class1.this,"you wish"+str.toString()+"haved send",Toast.LENGTH_LONG).show();

4>同意条款 checkbox,

mycheckbox1.setCHecked(false);

mycheckbox1.setEnabled(false);

mycheckbox1.setHint();

mycheckbox1.setOnCheckedChangeListener,

mycheckbox1.setOnTouchListener,

5> RadioGroup,onCheckedChanged事件,

myTextView1.setText(myradio1.getText());

6>专业相框设计:imageview

imageview1.setImageDrawable(getResources().getDrawable(R.drawable.right));

7>自定义下拉菜单:spinner,setDropDownViewResource

8>动态添加/删除spinner菜单:ArrayList,Widget

9>相片集:Gallery ,BaseAdapter,Toast

10>手机文件搜索引擎java I/o

File[] files=new File("/").listFiles();

for( File f : files )

{

if(f.getName().indexOf(keyword)>=0)

{

result+=f.getPath()+"\n"; }

}

if(result.equals("")) result="找不到文件!!"; return result; }

}

10>按钮的选择特效:单击变换:

ImageButton

@android:drawable/sym_action_call (@android:标识表示是引用所提供而非自行导入的)

11>AutoCompleteTextView与数组:输入文字自动提示功能;

12> 数字及模拟小时钟设计:analongClock,DigitalClock

android.os.Handler,

android.lang.Thread

android.os.Message,

System.currrentTimeMills():获取系统当前时间;

import android.widget.AnalogClock;

13> 动态输入日期与时间:DatePicker ,TimePicker

android.widget.DatePicker;

android.widget.TimePicker;

14> ImageView单击事件与透明度处理:setAlpha(int alpha); Math.random)

Message ,Handler,

15>GridView,ArrayAdapter动态文字排版

16> ListView列表显示: android.app.ListActivity,android.app.Activity

17> java I/O,ListActivity 查找根目录下的所有文件:

18> 加载手机里的图片文件,下一张显示:decodeFile

android.graphics.BitmapFactory;

Bitmap bm=BitmapFactory.decodeFile(filename);

19> Matrix 动态放大缩小ImageView里的图片

android.graphics.Matrix; postScale()

20> Bitmap,Matrix旋转图片imageview ,setRotate()

BitmapFactory.decodeResource()

21> RadioButton ID

设置按钮运动;

22> 关闭程序提示确定框:

AlertDialog.setIcon()

23> 隐藏式抽屉:SlidingDrawer

24> 手机桌面上的小玩意:

AppWidgetProvider 电子时钟,

25> 手机图片搜索管理,searchManager

输入文字,网上查找

26> 桌面管理,动态添加,删除,LAYOUT配置。

--------------------------------------------通信服务与手机控制 ------------------------------------

1> 将输入字符串,做成连接,Linkify

android.autoLink;

2> Intent.ACTION.CAL打电话,

android.net.Uri;

java.util.regex.Matcher;

java.util.regex.pattern;

Matcher.match()检查输入的字符串格式是否为电话格式;

Pattern pattern = Pattern.compile(expression);

3> SmsManager,PendingIntent自制发送短信程序;

android.telephony.Smsmanager;

sendTextMessage()

PendingIntent mPI = PendingIntent.getBroadcast(EX05_03.this, 0, new Intent(), 0);

smsManager.sendTextMessage(strDestAddress, null, strMessage, mPI, null);

}

4> SQLiteOpenHelper自制日历手机数据库,sqlite insert,update,delete,query

5> Vibrator对象及周期运用; 手机振动。

6> 显示具有图片文字连接的Toast提示 ,LineraLayout view

7> NotificationManager,Notification状态栏的图标与文字提醒;(我的登录状态:忙碌,在线

8> 输入人名或电话,自动查找信息,ContentResolver.

9> provider.contact取得联系人资料。

10> 制和有图标文件的资源管理器

自定义adapter

11〉重写clearwallpaper,还原手机默认桌面

12〉换手机背景图:gallery,setwallpaper,getwallpaper(获取手机桌面图)

13》文件资源管理器,更新,删除文件名功能,取得目前文件的路径及文件。

java I/O

14》打开/关闭WIFI服务。

wifiManager,状态常数及意义。

15》取得SIM KA内的信息。取得电信网络与手机的相关信息,动态改变屏幕方向。任务管器正在运行的程序。

telephonyManager

------------------------------------------------------android操作系统手机自动 服务--------------------------------

1> 等待接收短信通知,

android.content.BroadcastReceiver的应用,

2> BroadcastReceiver,Intent.action_battery_changed

手机电池计量还乘多少。

3》群发短信给100人:action_pick,uri

4》开始终止与停止系统服务:android.app.service

5>发送短信成功通知,

6》手机打接状态:

android.PhoneStateListener,onCallStateChanged

android.telephony.TelephonyManager

7>PhoneStateListener,action_send有来电,发送邮件/短信通知,

8〉存储KA剩余多少容量。

9>访问本机内存和存储KA

FILE

10》实现可定时响起的LAO 钟,

pendingIntent ,AlarmManager

11>PhoneStateListener,AudioManager黑名单来电自动静音。

12》手机翻背面及静音震动,SensorEventListener,AudioManager.

13>指定时间置换桌面背景。

alarmManager.

14>判断发送短信的状态,成功,失败,超时。

15》后台服务送出广播信息。

sendBroadcast,broadcastReceiver.

16>开机程式:

receiver,intent-filter

17>双向短信常驻服务

18》测量电池温度。

19》电池电量显示:appwidgetprovider

20>ContactsContract.commondatakinds取出通讯录数据及多组电话号码。

21》电子精确罗盘,指南针。

22》屏幕手写事件判断:gesturelibrary,prediction

23>画心图案,打电话。

--------------------------------android & 多媒体----------------------------

1〉获取图片高宽。

ContextMenu, Bitmap

2>android.graphics,绘制几何图形。

3》手机屏幕保护程序。

fade in / fade out

4>用手指移动画面里的照片。

onTouchEvent

5>File arraylist,加载程序里的相册。

6》相片导航与预览

imageswitcher,gallery

7>调整音量大小,

8》播放放MP3资源文件,播放存储KA里的MP3音乐。

9》自制录音,播放录音程序。MediaRecorder,audioEncoder.

10》 收到短信开发密密录音。mediaRecorder,broadcastReceiver

11》 内置影片播放器载入3GP电影。

12》 相机预LAN及PAI相临时文件。

13》拍照瞬间启动相机自动对隹。

14》程序启动前的开场动画。

15》展 让手机说话。发音程序的开发。

16》 多点触控屏幕事件捕捉

---------------------------------android & internet-----------------------------

1> http get/post 传递参数,http连接示范.

2>webview.loadurl在程序里浏览网页。

3》插入HTML标记的程序:webview.loaddata

4>intent,uri.parse打开收藏夹里的网页来打开手机内置浏览器上网。

5》下载MP3播放器,

6》远程下载音乐为手机玲声。

7》远程下载桌面背景图。

rulconnection,setWallpaper()

8》将手机文件上传到网站服务器。

9》手机博客发布器。

10》手机RSS阅读器。

11》远程下载安装ANDROID程序。

12》手机下载看3GP影片。

13》远程服务器验证程序,权限控制。

14》接收网络服务:

15》通过WEB API动态更改手机SPINNER控件。

16》网络语音搜索recognizerintent

17> progressbardialog网络下载进度条。

18》加载网页画面,网页的放大与缩小。websettings.setdefaultzoom

------------------------android | google-------------------------

1> android login,search,qr code,

2》经伟度查线目的位置。GPS定位服务。

通过地址,返回经伟坐标值。

规划导航路径。

移动设备上的相册。

随身HUANG译机。

---------------------------------android与创意 -------------------------------

1>手电筒,

2》GPS 轨迹记录器,在地图上画线并换算距离。

3》手机二维码生成器。

4》把手机放在空中甩事件处理。

5》防蚊子后台服务运行中,

6》转转轮盘。

7》任务管理器。

8》免费的云端发音字典。

4》ANDROID二维条形码扫描仪。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: