zoukankan      html  css  js  c++  java
  • android基础-界面开发注意事项

    做安卓开发时一定要注意,子线程不能更改UI界面,如果出现程序运行时崩溃的情况,如果没有明显的语法错误,请检查自己的进程是否出现冲突,崩溃。如果有与后台的连接,即请求向服务器发送请求的时尤其需要注意,或出现没有报错,但就是网络请求这段代码不会执行,这种情况下,如果设置的参数或者其他地方没有什么问题,但就是网络连接这段代码不执行,这个时候就需要检查自己的进程之间是否冲突。

    我一般会在主线程中,实例化一个Thread类,开启另一个线程,然后在这里面进行操作,并在得到数据之后利用handle进行值的传递。具体的用法如下:

    
    //定义一个handler,用于线程之间数据的传递,如果定义全局变量的话有局限性,因为进程之间是异步加载,往往会出现,页面显示数据时,还没有捕获到数据,所以建议使用handler进行数据的传递
    
    private Handler myHandler =new Handler(){
            public void handleMessage(Message msg){
                super.handleMessage(msg);
                switch (msg.what){
                    case 1:
                       .....
                       break;
                }
            }
        };
    
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_test);
            
            ......
            
            new Thread(new Runnable() {
                @Override
                public void run() {
                ......
                Message msg = new Message();
                msg.what = 1;
                msg.obj = ...(传递的值);
                myHandler.sendMesage(msg);
                
            //如果没有要传递的数值,只是需要根据状态进行响应的操作,可以直接用sendEmptyMessageDelayed();第一个参数相当于msg.what,用于状态的判断选择。第二个参数是延迟时间,就是这条语句延迟多长时间执行(毫秒)。
            myHandler.sendEmptyMessageDelayed(1,0);
            
            
            //如果直接在进程中更改UI界面,没有反应的话,试试在语句的前后用Looper.prepare();Looper.loop();包裹一下,例如:
            Looper.prepare();
            Toast.makeText(getContext,"获取数据成功",Toast.LENGTH_SHORT).show();
            Looper.loop();
            
                }
            //如果进程没有反应的话,首先检查是否设置了进程启动,即在实例化类的时候写入.start();启动
            }).start();
        }
    

    android 输入框提示文字点击消失

    在输入框中加入属性 android:hint="提示文字" 即可。

    android 让TexiView里面的文字居中显示

    android:gravity="center";
    

    Activity_xml视图模式不显示以及错误提示

    Error:Error: 'B' is not a valid file-based resource name character: File-based resource names must contain only lowercase a-z, 0-9, or underscore

    此类错误提示,主要是项目中有的文件名,不符合该系统的命名规范,就像是我的这个错误提示中,就有在这个文件名中不应该有大写字母,而我的出现了大写的字母"B",所以报错,导致Activity_xml文件的视图模式无法正常显示

  • 相关阅读:
    Apache CXF实战之四 构建RESTful Web Service
    使用CXF开发RESTFul服务
    Java多线程中的异常处理
    Checked异常和Runtime异常体系
    hql 语法与详细解释<转>
    hibernate实现有两种配置,xml配置与注释配置。<转>
    Hibernate配置详细解释
    重构(Refactoring)技巧读书笔记(General Refactoring Tips)
    Hibernate(1)——数据访问层的架构模式<转>
    关于layer.photos即照片显示的问题。
  • 原文地址:https://www.cnblogs.com/wtyhome/p/8961190.html
Copyright © 2011-2022 走看看