android studio APP的常用代码
这里分享一些常用的奇怪设置代码
Android退出activity提示再按一次返回键:防止用户点错
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)//主要是对这个函数的复写
{
if((keyCode == KeyEvent.KEYCODE_BACK)&&(event.getAction() == KeyEvent.ACTION_DOWN))
{
if(System.currentTimeMillis() - temptime >2000) // 2s内再次选择back键有效
{
System.out.println(Toast.LENGTH_LONG);
Toast.makeText(this, "请在按一次返回退出", Toast.LENGTH_LONG).show();
temptime = System.currentTimeMillis();
}
else {
finish();
System.exit(0); //凡是非零都表示异常退出!0表示正常退出!
}
return true;
}
return super.onKeyDown(keyCode, event);
}
----------------我是分割线------------------------------------------
// 常用的修改颜色 修改图片
messageText.setTextColor(Color.green(323232));
messageLayout.setBackgroundColor(Color.parseColor("#acacac"));
bb1.setBackground(this.getResources().getDrawable(R.drawable.button4));
设置背景颜色
mRelativeLayout.setBackgroundColor(getResources().getColor(R.color.RED));
mRelativeLayout.setBackgroundColor(Color.parseColor("#FF0000"));
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_launcher);
----------------我是分割线------------------------------------------
Activity启动模式设置:用户反复切换页面的时候,会new很多没必要的界面 这里就要通过设置清单来解决了
<activity android:name=".MainActivity" android:launchMode="singleTop" />
Activity的四种启动模式: 根据需要对应设置就好
1. standard
模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。
2. singleTop
如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例)。
3. singleTask
如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移除栈。如果栈中不存在该实例,将会创建新的实例放入栈中。
4. singleInstance
在一个新栈中创建该Activity实例,并让多个应用共享改栈中的该Activity实例。一旦改模式的Activity的实例存在于某个栈中,任何应用再激活改Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个应用,不管谁激活该Activity都会进入同一个应用中。
----------------我是分割线------------------------------------------
获取当前时间戳
Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间
Log.d("index_Fragment", "now:" + now);
//返回结果精确到毫秒。
另外一种带格式的
SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss ");
Date curDate = new Date(System.currentTimeMillis());
String str = formatter.format(curDate);
----------------我是分割线------------------------------------------
//list转换为json
Gson gson = new Gson();
List<Person> persons = new ArrayList<Person>();
String str = gson.toJson(persons);
//json转换为list
Gson gson = new Gson();
List<Person> persons = gson.fromJson(str, new TypeToken<List<Person>>(){}.getType());
----------------我是分割线------------------------------------------
/** 强制打开wift*/
private void ifWift() {
WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
if (!wifiManager.isWifiEnabled()) {
// wifiManager.setWifiEnabled(false);
// } else {
wifiManager.setWifiEnabled(true);
// Toast.makeText(mContext, "打开wift", Toast.LENGTH_SHORT).show();
}
}