android开发技巧

来源:互联网 发布:java开发的硬件环境 编辑:程序博客网 时间:2024/06/02 10:34

1、eclipse 的注释和取消注释快捷键 crtl+/

2、在控件上显示数字 Integer.toString(5);

3、自定义View,实现一个小球跟随手指在屏幕上移动;

4、添加类的重载方法,右键菜单->Source->Override/implents methods...

5、设置设备横屏:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

6、去掉应用程序中的标题栏和全屏

第一种:用java代码

requestWindowFeature(Window.FEATURE_NO_TITLE);//这句一定要写在setContentView()方法的前面,否则不会起作用getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //全屏

第二种:修改AndroidManifest.xml

android:theme="@android:style/Theme.NoTitleBar"    //去掉标题栏android:theme="@android:style/Theme.NoTitleBar.Fullscreen"    //去掉标题栏且全屏

如果写在<application>中,则整个应用都会去掉标题栏,如果只想去掉某一个Activity的标题栏的话,可以把这个属性加到activity标签里面;


7、android不允许在新线程中访问activity里面的组件,因此只能通过线程发送消息利用handler机制来更新UI。


8、在两个activity之间通过bundle传送数据:

发送:

Bundle data = new Bundle();data.putSerializable("person",p);//传送序列化的数据intent.putExtras(data);startActivity(intent);//启动下一个activity

接收:

Intent intent = getIntent();//intent 指上一个activity启动的intent,返回intent对象Bundle data = intent.getExtras();p = getSerializable("person");

9、启动其它activity并返回结果

(1)、在当前activity调用startActivityForResult()方法;

(2)、在当前activity重写onActivityResult()方法;

(3)、在另一个activity中回发消息和传送数据;

例如:

activity-01启动:

startActivityForResult(intent,0) //0要请求码,用于标识请求,当另一个activity返回结果时,onActivityResult()方法将会被回调

activity-02回发消息:

Intent  intent = getIntent();Bundle data = new Bundle();data.putString("city","beijing");intent.putExtras(data);activity-02.this.setResult(0,intent);//0为结果码activity-02.this.finish();

10、按钮事件监听的另一种写法

bn.setOnClickListener(new myClickListener);class myClickListener implents View.OnClickListener{    public void onClick(View v)   {      }}
11、如果想那当前activity成为打开程序的主activity则在配置文件中将这句话放支activity标签中
<intent-filter> <action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter>

12、音视频总时间转化为时、分、秒
private  StringBuilder mFormatBuilder = new StringBuilder() ;private Formatter mFormatter = new Formatter(mFormatBuilder, Locale.getDefault());
private String stringForPointTime(int timeMs) {//int mills = timeMs % 1000;int totalSeconds = timeMs / 1000;int seconds = totalSeconds % 60;int minutes = (totalSeconds / 60) % 60;int hours = totalSeconds / 3600;mFormatBuilder.setLength(0);if (hours > 0) {return mFormatter.format("%d:%02d:%02d", hours, minutes,seconds).toString();} else if (seconds > 0) {return mFormatter.format("00:%02d:%02d", minutes, seconds).toString();} else {return mFormatter.format("00:%02d:%02d", minutes, seconds).toString();}}

13、android 带so的工程导出为jar时需要将so单独拷贝到自己工程里

14、android黑色闪屏

我们的锁屏Activity在滑动”解锁”之后, 理论上是直接进入下面的界面, 但有时如果下面不是launcher, 而是一个app, 有可能会闪一下黑屏, 这个其实是底下activity的入场动画导致的, 某些Android版本会对顶部activity透明时处理有些奇怪, 我们不能保证其他的应用不闪黑屏, 但是对自己的的应用还是可以的, 只需要在我们的主体activity的style中加上

<item name="android:windowAnimationStyle">@null</item>


原创粉丝点击