1.Fragment创建
extents Fragment
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
rootView.findViewById(R.id.ShowAnotherFragment).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        getFragmentManager().beginTransaction()
                .addToBackStack(null)
                .replace(R.id.fragment, new AnotherFragment())
                .commit(); 
     }
});

2.Intent的使用
使用意图 把上一所活动的数据 传递  到下一个活动,
intent.putExtra("msg", data);

String data = intent.getStringExtra("msg");
使用意图  将下一个活动的数据 返回 到上一个活动

intent.putExtra("msg","Hello FirstActivity");
setResult(RESULT_OK, intent);

startActivityForResult(intent1, 1);
protected void onActivityResult() {
    switch (requestCode){
case 1: if(resultCode == RESULT_OK){
} break ;   }

public static interface NavigationDrawerCallbacks {
        /**
3 对于Fragment 在活动中的传递的例子(LearnFragment)理解
1. MainActivity类加载一个activity_main.xml,如果界面没有数据,加载一个MainActivityFragment类;
2. MainActivity类加载一个fragment_main.xml,界面有两个按钮,一个按钮显示另一个Fragment,另一个按钮开启侧边栏活动(SliderActivity类);
3. SliderActivity类的onCreate()加载一个activity_slider.xml界面,里面有FrameLayout布局和自定义fragment布局,FrameLayout可以重叠作为背景,
fragment加载NavigationDrawerFragment类.
SliderActivity类的onCreateView()加载fragment_slider.xml界面,覆盖activity_slider.xml界面里面有FrameLayout布局.
4. NavigationDrawerFragment类的onCreateView()方法中,创建View view.inflate填充一个R.layout.slider_content界面,
slider_content.xml界面有一个按钮,实现按钮点击跳转功能,
然后在NavigationDrawerFragment类中创建一个NavigationDrawerCallbacks接口,写一个onGoToJkxuClicked()方法.
最后在SliderActivity类中实现NavigationDrawerCallbacks接口,重新onGoToJkxuClicked()方法,方法中具体实现碎片的切换.

4.关于LayoutInflater类inflate(int resource, ViewGroup root, boolean attachToRoot)方法三个参数的含义

resource:需要加载布局文件的id,意思是需要将这个布局文件中加载到Activity中来操作。
root:需要附加到resource资源文件的根控件,什么意思呢,就是inflate()会返回一个View对象,
如果第三个参数attachToRoot为true,就将这个root作为根对象返回,否则仅仅将这个root对象的LayoutParams属性附加到resource对象的根布局对象上,
也就是布局文件resource的最外层的View上,比如是一个LinearLayout或者其它的Layout对象。
attachToRoot:是否将root附加到布局文件的根视图上

5.如何在Activity 中使用 Fragment

创建一个fragment.xml---fragment(Fragment)---activity.xml布局嵌套fragment---activity(Activity)调用getFragmentManager().findFragmentById(R.id.fragment)方法

6.一个新闻内容页面
1.创建一个新闻类
2.创建一个新闻列表布局,创建一个新闻列表布局的适配器;
3.创建一个新闻内容布局,创建一个碎片加载新闻内容布局;
4.创建一个显示新闻内容布局(可以引用之前的碎片新闻内容布局),创建一个活动类来显示新闻内容;
5.创建一个显示新闻列表布局,创建一个碎片来加载这个布局{
    在onAttach()方法数据的初始化,完成2的适配器操作;
    然后在onCreateView()方法 ,加载显示新闻列表布局 ,显示新闻列表; 然后新闻列表setOnItemClickListener(),在方法中传递数据,并启动3活动类;   
}
7. Fragment 的总结
1活动中的使用碎片
Fragment fragment = (Fragment)getFragmentManger().findFragmentById(R.id.fragment);
2碎片中得到活动
MainActivity activity = (MainActivity)getActivity()
3,碎片通过活动获取另外一个碎片
8. BroadcastReceiver
1.
  全局发送标准广播sendBroadcast(intent);
  全局发送有序广播sendOrderedBoadcast(intent,null)
  全局接受标准广播 AndroidManifest.xml注册<receiver> <intent-filter><action android:name="com,example.broadcasttest.MY_BROADCAST">
  全局接受有序广播 加上优先级<intent-filter android:priority>
2.
  应用内的广播
  发送广播: sendBroadcast(intent)
  注册广播监听器:registerReceiver(BroadcastReceiver实例,IntentFilter实例)
9. Activity Intent的FLAG
1.Intent.FLAG_ACTIVITY_NEW_TASK 取出一个栈的活动或者重新创建一个活动
2.FLAG_ACTIVITY_SINGLE_TOP   相当于活动模式中的singletop
3.FLAG_ACTIVITY_CLEAR_TOP    相当于活动模式中的SingleTask
10. Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance
singleTop 在栈顶的活动不会重新创建
singleTask  不在栈顶,创建唯一的活动实例
singleInstance 单一实例,其他程序调用活动时,重新创建一个单独的返回栈
11.
一。获得 LayoutInflater 实例的三种方式(比如 LayoutInflater.from(context).inflate(R.layout.title, this))

1.LayoutInflater inflater = getLayoutInflater();  //调用Activity的getLayoutInflater()

2.LayoutInflater localinflater =(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

3. LayoutInflater inflater = LayoutInflater.from(context);

二。inflate方法

public View inflate(int Resourece,ViewGroup root)

作用:填充一个新的视图层次结构从指定的XML资源文件中

reSource:View的layout的ID

root: 生成的层次结构的根视图
12.简单的那个View的加载 或 使用Fragment 加载View
比如你用view, 很多逻辑代码可能都需要写在Activity里,如果view很多.
耦合度会很高。用Fragment则可以各自管理,可以看作一种解耦吧
12.
数据存储:文件存储 SharePreference和数据库存储
1.保存文件存储 
    FileOutputStream out = openFileOutput("文件名",Context.MODE_PRIVATE);
    BufferedWriter writer = new BufferdeWriter(new OutputStreamWriter(out));
    writer.wreter("111111111111111111--data");

2.读取文件存储 
    FileInputStream in = openFileInput("文件名");
    BufferedRead read = new BufferedReader(new InputStreamReader(in));
    StringBuilder content = new StringBuilder();
    content.append(reader.readLine())
3.SharePreference保存
    SharePreference.Editor editor = getSharedPreferences("文件名",MODE_PRIVATE.edit());
    editor.putString("KEY","值")
    editor.commit();
4.SharePreference读取
    SharePreferences pref = getSharedPreference("文件名",MODE_PRIVATE);
    String string = pref.getString("key","默认值")
5.SQLiteOpenHelper db
  创建数据库 db.execSQL("create table person(id integer primary key, name text,age integer)")

6.SharePreference 使用事物 , 数据要么全部完成要么不完成.
   SQLiteDatebase db = (new SQLiteOpenHelper).getWritableDatabase();
   da.beginTranscation();//开启事物
   ContentValues values = new ContentValues();
   values.put("name","xxx");
   db.insert("数据库名",null,values)
   db.setTransactionSuccessful//事务开启成功
   db.endTransaction();//事务结束

android 笔记一的更多相关文章

  1. Android笔记——Android中数据的存储方式(二)

    我们在实际开发中,有的时候需要储存或者备份比较复杂的数据.这些数据的特点是,内容多.结构大,比如短信备份等.我们知道SharedPreferences和Files(文本文件)储存这种数据会非常的没有效 ...

  2. Android笔记:触摸事件的分析与总结----TouchEvent处理机制

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://glblong.blog.51cto.com/3058613/1559320   ...

  3. Android 笔记之 R 文件

    Android笔记之R文件 h2{ color: #4abcde; } a{ color: blue; text-decoration: none; } a:hover{ color: red; te ...

  4. Android 笔记之 Android 系统架构

    Android笔记之Android系统架构 h2{ color: #4abcde; } a{ color: blue; text-decoration: none; } a:hover{ color: ...

  5. Android笔记之使用Glide加载网络图片、下载图片

    Glide简介 不想说太多,真的很方便:P)可以节省我不少时间 GitHub地址:https://github.com/bumptech/glide 加载网络图片到ImageView Glide.wi ...

  6. Android笔记--View绘制流程源码分析(二)

    Android笔记--View绘制流程源码分析二 通过上一篇View绘制流程源码分析一可以知晓整个绘制流程之前,在activity启动过程中: Window的建立(activit.attach生成), ...

  7. Android笔记--View绘制流程源码分析(一)

    Android笔记--View绘制流程源码分析 View绘制之前框架流程分析 View绘制的分析始终是离不开Activity及其内部的Window的.在Activity的源码启动流程中,一并包含 着A ...

  8. Android笔记--自定义控件仿遥控器的圆形上下左右OK圆盘按钮

    原文:Android笔记--自定义控件仿遥控器的圆形上下左右OK圆盘按钮 上面就是几张预览图!代码在最底下 主要就两个步骤,画图.监听点击 1.整个控件基本上是一步步画出来的,重写onDraw方法开始 ...

  9. 我的Android笔记--我对安卓系统的一些了解

    敲了这么长时间代码,记录一下我对Android的一些概念,下面大部分内容来源自网络资料和官方给的文档.     1,Android操作系统的核心属于Linux的一个分支,具有典型的Linux调度和功能 ...

  10. Android笔记——Android中数据的存储方式(三)

    Android系统集成了一个轻量级的数据库:SQLite,所以Android对数据库的支持很好,每个应用都可以方便的使用它.SQLite作为一个嵌入式的数据库引擎,专门适用于资源有限的设备上适量数据存 ...

随机推荐

  1. 完全用nosql轻松打造千万级数据量的微博系统(转)

    原文:http://www.cnblogs.com/imxiu/p/3505213.html 其实微博是一个结构相对简单,但数据量却是很庞大的一种产品.标题所说的是千万级数据量 也并不是一千万条微博信 ...

  2. UML Diagrams Using Graphviz Dot

    Introduction Background This article is about using the dot tool from the Graphviz package to automa ...

  3. 【我的Android进阶之旅】解决Android Studio 运行gradle命令时报错: 错误: 编码GBK的不可映射字符

    1.问题描述 最近在负责公司基础业务和移动基础设施的开发工作,正在负责Lint代码静态检查工作.因此编写了自定义的Lint规则,在调试过程中,编译的时候出现了如下所示的错误: 部分输出日志如下所示: ...

  4. python-pdf添加水印

    0.用到两个扩展模块:ReportLab.PyPDF2. 1.创建水印PDF. 1).创建文字水印pdf文件 代码: #encoding=utf-8 #author: walker #date: 20 ...

  5. 重定向、feed输出:控制台输出的内容存放到文件

    重定向.feed输出:控制台输出的内容存放到文件 1.重定向 os.system('wget -r -p -np -k http://www.baidu.com/ -o wget.log' ) 2.f ...

  6. SELINUX导致数据修改权限不成功

    SELINUX导致数据修改权限不成功基本概念参考:https://blog.csdn.net/yanjun821126/article/details/80828908 查看SELinux状态: ./ ...

  7. sql server 碎片整理——DBCC SHOWCONTIG

    转自: 1.http://blog.sina.com.cn/s/blog_6d2675450101ks6i.html 2.http://www.cnblogs.com/CareySon/archive ...

  8. mysql中的多行查询结果合并成一个(转)

    SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND md.mimetype_id= 5 ...

  9. 跟我学Makefile(五)

    文件名操作函数 每个函数的参数字符串都会被当做一个或是一系列的文件名来对待. $(dir <names...>) 名称:取目录函数——dir. 功能:从文件名序列<names> ...

  10. mysql锁机制之综述(一)

    https://zhuanlan.zhihu.com/p/29150809 一.数据库有锁机制的原因. 数据库锁定机制简单来说,就是数据库为了保证数据的一致性和有效性,而使各种共享资源在被并发访问变得 ...