欢迎光临散文网 会员登陆 & 注册

android studio APP的常用代码

2023-06-14 13:27 作者:翼618  | 我要投稿

这里分享一些常用的奇怪设置代码


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();

        }

    }

----------------我是分割线------------------------------------------


android studio APP的常用代码的评论 (共 条)

分享到微博请遵守国家法律