Android笔记小记(1)

Activity 的7个生命周期

Oncreat onstart onResume OnPause OnRestart OnStop OnDestory

监听器的实现方式有哪五种:
  • 第一种:匿名内部类作为事件监听
  • 第二种:内部类作为监听
  • 第三种:Activity本身作为事件监听
  • 第四种:外部类作为监听器
  • 第五种:xml文件中直接绑定标签
四种启动模式
  • 默认启动模式 Standard 允许有多个实例
  • Singtop <自己跳自己才不会启动activity 一个实例> 启动活动如果发现栈顶已经是该活动,可直接使用,不会再创建新的实例
  • singTask <自己跳别个 再用按钮返回 只留一个实例 其他销毁> 如果不在每次启动活动首先会在返回栈中检查是否有该活动的实例,如果发现已经存在则直接使用,并把这个活动以外的所有活动统统出栈 类似于销毁栈顶外的其他活动
  • SingLeInstance 栈里只允许有一个实例 //京东跳淘宝 启动一个新栈
ViewPager(一般是首次装APP的引导界面)

Viewpage 一定要用PagerAdapter适配器
要新增重载的方法destroyItem和instantiateItem 方法
并且destoryitem方法不能有返回值

    @Override
            public void destroyItem(ViewGroup container, int position,Object object) {
                container.removeView(list.get(position));
            }
            @Override
            public Object instantiateItem(ViewGroup container, int position) {
               View view=list.get(position);
               container.addView(view);
                return view;
            }
SharedPreferences

简单存储 根据用户喜好存储

//以什么.xml文件存储  什么模式存储
     SharedPreferences preferences=getSharedPreferences("passname", Context.MODE_APPEND);
      //获得编辑器
     Editor e=preferences.edit();     
      e.putString("pass", "123");
      e.putString("name", "123");
      e.commit();


取值同理
            SharedPreferences preferences=getSharedPreferences("passname", Context.MODE_APPEND);
            String s= preferences.getString("pass", "");
             String n=preferences.getString("name", "");
Adapter适配器
BaseAdpater
  • Getcount 得带控件要显示的内容长度
  • Getitem 得到控件每行要显示的内容
  • Getitemid 得到要显示的每行的ID
  • Getview 得到每行要显示的内容
ArrayAdapter
ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_expandable_list_item_1,list);

只能显示文字 第一个是对象 第二个参数是布局文件 第三个是数据

Listview适配步骤

1.搭建UI界面
2.绑定控件id
3.回填数据(1.子item项 实体类 适配器)

   
      class myListView extends BaseAdapter{

        @Override
        public int getCount() {

            return list.size();
        }

        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return list.get(position);
        }

        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            //布局填充期绑定convertView
            convertView=getLayoutInflater().inflate(R.layout.listview, null);
            //获取每行数据
            ImageView imageView=(ImageView) convertView.findViewById(R.id.imageView2);
            TextView tvTextView=(TextView)convertView.findViewById(R.id.textView2);
            //回填数据
            if(position<6){
            tvTextView.setText(list.get(position));
            imageView.setImageResource(a[position]);
            }else {
                tvTextView.setText(list.get(position));
            }
            return convertView;
        }
获得一个xml 文件的View对象

getLayoutInflater().inflate(R.layout.listview, null);

kxind

性别:男. 敢于尝试 爱折腾的死宅程序猿. https://github.com/kxinds