学习android开发的app
2015-06-06 16:57:00 weixin_34128411 阅读数 2

   第一次写博客,可能里面的很多内容会比较不规范点,希望大家体谅下。主要是想把自己学习Android的经历分享给大家,我是一个从没有任何基础的情况下开始学习Android的开发,我希望我的学习经历能帮助到一些同样没有任何基础然而想学习Android的朋友们。

(1)、目标  

  学习安卓的开发我们最近的目标就是能够自己独立开发APP的能力。

独立完成一个App的分解:

  1) 搭建框架
  2) 开发功能
  3) 快速学习能力
  4) 解决问题能力
  5) 英文文档阅读能力
  6) 调试技术
阶段目标:
1) 掌握项目开发流程
2) 了解项目成员组成结构
 
PC
c/C++/Delphi                  单机
web
JAVAEE/.net/PHP/Python/Ruby ROR/NodeJS
MobileInternet
JAVASE    Objective C(Swift)   C#
 
2. 移动互联网项目成员组成结构
1) 美工                         
2) 项目经理                   
3) 服务端工程师             
4) Android工程师          
5) iOS工程师                 
6) 前端工程师                
7) 产品经理                   
8) 测试工程师                
9) 交互设计师UI/UE       
 
必须
1) 服务端工程师             
2) Android工程师          
3) iOS工程师                 
 
3. 产品
微信
 
 
 
 
产品
项目
 
 
 
项目
模块
 
 
 
模块
一类流程的集合
 
 
 
流程
若干功能
 
 
 
 
4. 项目框架
功能:组织多个模块
常见的类型:
1) Tab页面
2) 侧滑菜单
 
5. 分析App通用功能
1) 欢迎页面
2) 新手引导
3) 主页框架
4) 列表
5) Banner轮播图
6) 用户管理
          注册、登陆、忘记密码、短信验证、第三方账号(新浪微博)
7) 收藏/浏览历史
8) 设置
          仅wifi下载图片
          夜间模式
          意见反馈
          升级
          分享
          关于
          注销
9) 支付
10) 搜索
 
6. 常用的技术
1) ViewPager
2) 安全   第三方接口
3) 数据库
4) HTTP
5) 异步
6) JSON  
7) 复用
8) 工具类
9) IOC  DI
二. 项目框架搭建
1. 欢迎页面
作用:加载资源,通过进度显示表明软件正在运行
分析
1) 简单布局(图片 + 文字)
2) 2秒钟后自动跳转
3) 有动画
4) 有广告(跳过)
5) 没有标题栏
6) 不能回退
 
Android碎片化问题
1) 多种定制ROM  
          小米   三星   华为
2) 多个操作系统版本共存
      8            2.2   
      9~10     2.3               phone 
      11~13      3.0~3.2        pad                不开源
      14~20     4.0~4.4        phone + pad  
     21           5.0   
 
 
2. 新手引导页
分析:
1) 多张图片水平滑动切换
2) 第一次显示
3) 不能回退
4) 跳过按钮
5) 立即体验
 
3、 Fragment(片段)的创建步骤
1.首先你需要的创建一个类去继承SupporV4的Fragment
 
2. 重写onCreateView()方法,关联一个布局
注意点:关联布局的时候你需要找你的布局,然后用你当前布局对象去找你布局上的控件,记住一定要用当前布局的对象,否则到时候会出现空指针的问题。这边很多人会忘记,所以需要注意点。
  当你在布局中拖拉Fragment的时候需要给Fragment一个id。
  ViewPager的使用,在布局中随意的拖拉一个控件,然后将其属性改成 ViewPager。
 
4.静态使用Fragment的方法(了解)
1) 修改当前类,继承FragmentActivity
2) 拖拽一个Fragment到当前布局中
 
5. 动态的使用Fragment的步骤:
1) 在Activity布局中添加一个FrameLayout,用来确定Fragment动态添加的位置
2) 代码中动态添加Fragment,可以在代码中进行片段的添加,删除,修改
 
6.布局中的Button快捷注册事件的方法
1) 在Activity的布局中,Button控件中添加一个属性 android:onClick
    值为方法名称
2) 方法命名规则:public void开头,参数为View v
 
7.
动态使用的Fragment与Activity之间的交互
 Activity调用Fragment中的方法
1) 在Activity中调用fragment的changeText()方法   
2) 在Fragment中查找到TextView控件
3) 在Fragment中新建方法,改变TextView内容
  Fragment 调用Activity中的方法
1) 在Fragment中通过 getActivity() 获得Activity对象,并调用Activity的方法
2) 在Activity中新增changeText()方法
 
8.在创建Fragment的时候所遇的常见的问题以及解决方法;
1. @android:style/Theme.Holo.Light.NoActionBar requires API level 13 (current min is 8)
Class requires API level 11 (current min is 8): android.app.Fragment
解决:ApI的版本不一样,你只需要将版本改成一样的就可以了
 
 
2.AndroidRuntime(4103): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ex_templete/com.example.ex_templete.MainActivity}: android.view.InflateException: Binary XML file line #28: Error inflating class fragment
日志提示的原因:
06-02 07:47:59.154: E/AndroidRuntime(4103): Caused by: java.lang.ClassCastException: com.example.ex_templete.MyFragment cannot be cast to android.app.Fragment
原因:继承的Activity内部只能添加 android.app.Fragment的片段,不支持supportV4的Fragment
解决:修改继承FragmentActivity
 
 
 
    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

转载于:https://www.cnblogs.com/random-921223/p/4556890.html

2015-06-07 20:07:00 weixin_33727510 阅读数 1
一. 项目模块
1.  新手引导使用控件 ViewPager的使用步骤
1) 在布局中添加ViewPager控件
     
    技巧:在代码中输入ViewPager,联想,从import中拷贝完整包名类名
    
2) 设置适配器
    
2. 最后一个页面显示立即体验按钮
1) 在适配器的getItem方法中判断如果是最后一个页面,设置按钮显示
    
2) 在Fragment中新增方法setVisible(),保存是否显示,并在onCreate()方法中设置按钮是否显示
 
3. ViewPager的缓存机制
除当前页面外左右各缓存的页面数
 
4. 动画
FrameAnimation    帧动画      DrawableAnimation
TweenAnimation  补间动画   ViewAnimation
 
TweenAnimation的缺点:只是视图上的改变,控件的属性并没有真正改变
 
5. 属性动画PropertiesAnimation
兼容低版本(2.x)的动画包
 
6. 开源项目的原理(了解)
 
 
7. 导入开源项目注意事项
1) 选择Android->Existing
     
2) 一定要选择copy
     
 
 
技巧:设置语法着色功能
 
二. 主页面
1. Actionbar
差别:
1) 美观
2) 后退按钮
3) 菜单可视化
App CompatV7的作用:兼容2.1之后版本,可以使用Actionbar
 
2. 使用AppcomatV7实现Actionbar的步骤
1) 导入AppCompatV7库
    D:\Android_Prog\android-sdk_r24.2\extras\android\support\v7
2) 项目引用android-support-v7-appcompat库,修改Activity继承        
    ActionBarActivity类
3) 修改主题,必须以Theme.AppCompat开头
    
4) 设置Actionbar属性
    
提示:使用24.2版本的eclipse不需要做前三步骤
 
3. 在Actionbar中添加菜单项
1) back按钮的事件
    新版本Eclipse:
     
    低版本Eclipse:
    
2) 添加菜单项
    
3) 菜单项点击事件
    
 
4. Fragment支持嵌套,使用片段管理器
    
 
5. Activity中不同的Fragment显示不同的菜单项实现步骤
基于:一个Activity,两个Fragment,Fragment中有不同菜单项
 
三. 侧滑布局
1.  Drawerlayout控件的使用方法
View
   |______ViewGroup(所有布局的基类)
                   |______LinearLayout
                   |______RelativeLayout
                   |______FrameLayout
                   |______TableLayout
                   |______AbsoluteLayout        
   |______TextView
                   |______EditText       
                   |______Button 
                                   |______CompoundButton
                                            |______Checkbox
                                            |______RadioButton
                                            |______ToggleButton
                                            |______Switch
   |______ImageView
                   |______ImageButton            
   |______Progressbar
                   |______Seekbar
                   |______Ratingbar
        
 
开源项目:
国内
 
 
常见问题
1. 
原因:项目配置问题
解决:
 
2. 24.2版本Eclipse问题
 
3. 关联supportV4源代码
源代码路径:
D:\Android_Prog\android-sdk_r24.2\extras\android\support\v4\src
关联方法 :
在libs目录中新建一个文件,名称为: android-support-v4.jar.properties
打开文件,编辑内容为:
src=源代码路径
关闭项目,再打开,
 
4. Call requires API level 11 (current min is 8): android.app.Activity#getActionBar
 
5. 06-03 06:46:13.392: E/AndroidRuntime(7962): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ex_templete/com.example.ex_templete.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
 
6. 工具环境 
1) 路径中不要含有中文和空格
2) 两个版本不能同时使用
 
7. The method add(int, Fragment) in the type FragmentTransaction is not applicable for the arguments (int, BlankFragment)
 
 
一. 项目问题
1. 升级开发环境的配置 
2. 新建项目编译报错
规避方法:先创建一个最低版本是4.0的项目,然后再创建最低版本是2.2的项目
3. 乱码问题
char
编码:25991 = 文
常见的编码格式:
UTF-8
GBK    简体中文
GB2312
GB18030
Big5    繁体
ISO 8859-1
 
常见问题场景:客户端与服务端的编码方式不同
如何解决:最好统一为utf-8 
 
4. 导入supportv7库
1) 
问题:编译版本默认不是5.x,
解决:修改编译版本为5.1.1,再clean
2)  
error: Error retrieving parent for item: No resource found that matches the given name 'Widget. AppCompat.ActionButton'.
3) cardView
 
5. supportV7源代码
D:\Android_Prog\android-sdk_r24.2\extras\android\m2repository\com\android\support\appcompat-v7\22.1.1
 
6. 项目引用库时,提示编译报错
原因:项目和库中含有相同jar包的不同版本,
解决:将两个jar包改为一致
          或者删除项目中的jar包
 
7. 判断ViewPager中的某个Fragment是否可见
 
 
二. 项目框架搭建
1.  侧滑布局 Drawerlayout控件的使用方法
参考SupportV7的ActionBarWithDrawerLayout, 拷贝布局
 
2. 整合主页结构
1) 实现ListView布局,行布局参考知乎App
2) ListView行点击事件,实现替换主页面的Fragment
3) 替换Fragment后关闭DrawerLayout
 
3. MaterialMenu
参考SupportV7Demo的ActionBarWithDrawerLayout.java
1) 拷贝代码和布局
2) 修改主页内容为FrameLayout
3) 菜单ListView点击事件修改为替换主页Fragment
 
三. 技术框架
1. Volley
功能: 异步HTTP下载
 
技巧
1) 判断当前系统版本
2) Eclipse本地历史记录
 
常见问题:
1. 如无必要,不要用成员变量
    必要:一个方法需要访问另一个方法中的局部变量
    如非必须,不要用静态变量
 
2. [2015-06-04 14:34:45 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/v7/appcompat/R$anim;
[2015-06-04 14:34:45 - Demo_MM_abc] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v7/appcompat/R$anim;
 
3. 项目改为库,R中的常量变为变量
 
 
一. 技术框架
1. HTTP、异步、
    创建json对应的类、
    解析JSON、
    异步下载图片、内存缓存、外存缓存
 
2. Volley依赖的技术点:Application
作用:1) 全局对象(类似于单实例)
          2) 在Activity初始化之前被执行
应用场景:做库的初始化
 
Volley = AsyncTask + URL
 
3.  Volley
功能: 异步HTTP下载
 
4. Volley使用步骤:
1) 在清单中增加 Internet权限
2) 依赖lib_volley库
3) 拷贝Demo中的App_VolleyExamples类, 并在清单中注册
    同时拷贝MyVolley和BitmapLruCache
    
4) 从Demo的Act_SimpleRequest类中拷贝
    
5) 拷贝方法
     
 
5. 解决乱码
 
6. 解析JSON
1) 创建json字符文件
    注意文件要修改为utf-8无bom格式
2) 根据json文件自动生成封装数据的JAVA类
jsonschema2pojo-0.4.8.zip
操作步骤:
2.1 解压缩到D盘根目录
2.2 cd /d D:\jsonschema2pojo-0.4.8进入本目录
2.3 jsonschema2pojo -T JSON -a NONE --omit-tostring --omit-hashcode-and-equals --target java-gen  --annotation-style GSON --sourcejson.txt
注意:将 json.txt 替换为你的json文件名,并删除以下两行语法错误语句,并添加package
3) 拷贝gson.jar文件到项目的libs目录中 ,文件位置
     
4) 使用gson包的API解析Json字符串
 
7.   异步下载图片、内存缓存、外存缓存
AsyncTask + IO + HashMap
问题:1) 性能
          2) 策略   LruCache
背景:Android App       16MB    24MB   32MB   48MB
原理流程图
背景:严格模式StrictMode
典型:在Main线程执行HTTP操作会FC
2.3新增,默认关闭,4.0默认开启
 
8. UIL库的使用步骤:
参考Demo中的ImageListActivity.java
1) 清单中添加Internet权限
2) 项目中拷贝lib_uil.jar到libs目录中
3) 从Demo中拷贝UILApplication到项目中,并在清单中配置
    问题:编译错误,删除以下代码
    
4) 拷贝
    
5) 拷贝options对象的创建代码
    
 
 
 
 
 
常见问题:
 
2. The method init(Context) from the type MyVolley is not visible
 
3. 使用UIL
 

 

转载于:https://www.cnblogs.com/random-921223/p/4559000.html

2015-06-07 20:07:00 weixin_33785108 阅读数 3
一. 项目模块
1.  新手引导使用控件 ViewPager的使用步骤
1) 在布局中添加ViewPager控件
     
    技巧:在代码中输入ViewPager,联想,从import中拷贝完整包名类名
    
2) 设置适配器
    
2. 最后一个页面显示立即体验按钮
1) 在适配器的getItem方法中判断如果是最后一个页面,设置按钮显示
    
2) 在Fragment中新增方法setVisible(),保存是否显示,并在onCreate()方法中设置按钮是否显示
 
3. ViewPager的缓存机制
除当前页面外左右各缓存的页面数
 
4. 动画
FrameAnimation    帧动画      DrawableAnimation
TweenAnimation  补间动画   ViewAnimation
 
TweenAnimation的缺点:只是视图上的改变,控件的属性并没有真正改变
 
5. 属性动画PropertiesAnimation
兼容低版本(2.x)的动画包
 
6. 开源项目的原理(了解)
 
 
7. 导入开源项目注意事项
1) 选择Android->Existing
     
2) 一定要选择copy
     
 
 
技巧:设置语法着色功能
 
二. 主页面
1. Actionbar
差别:
1) 美观
2) 后退按钮
3) 菜单可视化
App CompatV7的作用:兼容2.1之后版本,可以使用Actionbar
 
2. 使用AppcomatV7实现Actionbar的步骤
1) 导入AppCompatV7库
    D:\Android_Prog\android-sdk_r24.2\extras\android\support\v7
2) 项目引用android-support-v7-appcompat库,修改Activity继承        
    ActionBarActivity类
3) 修改主题,必须以Theme.AppCompat开头
    
4) 设置Actionbar属性
    
提示:使用24.2版本的eclipse不需要做前三步骤
 
3. 在Actionbar中添加菜单项
1) back按钮的事件
    新版本Eclipse:
     
    低版本Eclipse:
    
2) 添加菜单项
    
3) 菜单项点击事件
    
 
4. Fragment支持嵌套,使用片段管理器
    
 
5. Activity中不同的Fragment显示不同的菜单项实现步骤
基于:一个Activity,两个Fragment,Fragment中有不同菜单项
 
三. 侧滑布局
1.  Drawerlayout控件的使用方法
View
   |______ViewGroup(所有布局的基类)
                   |______LinearLayout
                   |______RelativeLayout
                   |______FrameLayout
                   |______TableLayout
                   |______AbsoluteLayout        
   |______TextView
                   |______EditText       
                   |______Button 
                                   |______CompoundButton
                                            |______Checkbox
                                            |______RadioButton
                                            |______ToggleButton
                                            |______Switch
   |______ImageView
                   |______ImageButton            
   |______Progressbar
                   |______Seekbar
                   |______Ratingbar
        
 
开源项目:
国内
 
 
常见问题
1. 
原因:项目配置问题
解决:
 
2. 24.2版本Eclipse问题
 
3. 关联supportV4源代码
源代码路径:
D:\Android_Prog\android-sdk_r24.2\extras\android\support\v4\src
关联方法 :
在libs目录中新建一个文件,名称为: android-support-v4.jar.properties
打开文件,编辑内容为:
src=源代码路径
关闭项目,再打开,
 
4. Call requires API level 11 (current min is 8): android.app.Activity#getActionBar
 
5. 06-03 06:46:13.392: E/AndroidRuntime(7962): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ex_templete/com.example.ex_templete.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
 
6. 工具环境 
1) 路径中不要含有中文和空格
2) 两个版本不能同时使用
 
7. The method add(int, Fragment) in the type FragmentTransaction is not applicable for the arguments (int, BlankFragment)
 
 
一. 项目问题
1. 升级开发环境的配置 
2. 新建项目编译报错
规避方法:先创建一个最低版本是4.0的项目,然后再创建最低版本是2.2的项目
3. 乱码问题
char
编码:25991 = 文
常见的编码格式:
UTF-8
GBK    简体中文
GB2312
GB18030
Big5    繁体
ISO 8859-1
 
常见问题场景:客户端与服务端的编码方式不同
如何解决:最好统一为utf-8 
 
4. 导入supportv7库
1) 
问题:编译版本默认不是5.x,
解决:修改编译版本为5.1.1,再clean
2)  
error: Error retrieving parent for item: No resource found that matches the given name 'Widget. AppCompat.ActionButton'.
3) cardView
 
5. supportV7源代码
D:\Android_Prog\android-sdk_r24.2\extras\android\m2repository\com\android\support\appcompat-v7\22.1.1
 
6. 项目引用库时,提示编译报错
原因:项目和库中含有相同jar包的不同版本,
解决:将两个jar包改为一致
          或者删除项目中的jar包
 
7. 判断ViewPager中的某个Fragment是否可见
 
 
二. 项目框架搭建
1.  侧滑布局 Drawerlayout控件的使用方法
参考SupportV7的ActionBarWithDrawerLayout, 拷贝布局
 
2. 整合主页结构
1) 实现ListView布局,行布局参考知乎App
2) ListView行点击事件,实现替换主页面的Fragment
3) 替换Fragment后关闭DrawerLayout
 
3. MaterialMenu
参考SupportV7Demo的ActionBarWithDrawerLayout.java
1) 拷贝代码和布局
2) 修改主页内容为FrameLayout
3) 菜单ListView点击事件修改为替换主页Fragment
 
三. 技术框架
1. Volley
功能: 异步HTTP下载
 
技巧
1) 判断当前系统版本
2) Eclipse本地历史记录
 
常见问题:
1. 如无必要,不要用成员变量
    必要:一个方法需要访问另一个方法中的局部变量
    如非必须,不要用静态变量
 
2. [2015-06-04 14:34:45 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/v7/appcompat/R$anim;
[2015-06-04 14:34:45 - Demo_MM_abc] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v7/appcompat/R$anim;
 
3. 项目改为库,R中的常量变为变量
 
 
一. 技术框架
1. HTTP、异步、
    创建json对应的类、
    解析JSON、
    异步下载图片、内存缓存、外存缓存
 
2. Volley依赖的技术点:Application
作用:1) 全局对象(类似于单实例)
          2) 在Activity初始化之前被执行
应用场景:做库的初始化
 
Volley = AsyncTask + URL
 
3.  Volley
功能: 异步HTTP下载
 
4. Volley使用步骤:
1) 在清单中增加 Internet权限
2) 依赖lib_volley库
3) 拷贝Demo中的App_VolleyExamples类, 并在清单中注册
    同时拷贝MyVolley和BitmapLruCache
    
4) 从Demo的Act_SimpleRequest类中拷贝
    
5) 拷贝方法
     
 
5. 解决乱码
 
6. 解析JSON
1) 创建json字符文件
    注意文件要修改为utf-8无bom格式
2) 根据json文件自动生成封装数据的JAVA类
jsonschema2pojo-0.4.8.zip
操作步骤:
2.1 解压缩到D盘根目录
2.2 cd /d D:\jsonschema2pojo-0.4.8进入本目录
2.3 jsonschema2pojo -T JSON -a NONE --omit-tostring --omit-hashcode-and-equals --target java-gen  --annotation-style GSON --sourcejson.txt
注意:将 json.txt 替换为你的json文件名,并删除以下两行语法错误语句,并添加package
3) 拷贝gson.jar文件到项目的libs目录中 ,文件位置
     
4) 使用gson包的API解析Json字符串
 
7.   异步下载图片、内存缓存、外存缓存
AsyncTask + IO + HashMap
问题:1) 性能
          2) 策略   LruCache
背景:Android App       16MB    24MB   32MB   48MB
原理流程图
背景:严格模式StrictMode
典型:在Main线程执行HTTP操作会FC
2.3新增,默认关闭,4.0默认开启
 
8. UIL库的使用步骤:
参考Demo中的ImageListActivity.java
1) 清单中添加Internet权限
2) 项目中拷贝lib_uil.jar到libs目录中
3) 从Demo中拷贝UILApplication到项目中,并在清单中配置
    问题:编译错误,删除以下代码
    
4) 拷贝
    
5) 拷贝options对象的创建代码
    
 
 
 
 
 
常见问题:
 
2. The method init(Context) from the type MyVolley is not visible
 
3. 使用UIL
 

 

转载于:https://www.cnblogs.com/random-921223/p/4559000.html

2015-06-06 16:57:00 weixin_33862041 阅读数 2

   第一次写博客,可能里面的很多内容会比较不规范点,希望大家体谅下。主要是想把自己学习Android的经历分享给大家,我是一个从没有任何基础的情况下开始学习Android的开发,我希望我的学习经历能帮助到一些同样没有任何基础然而想学习Android的朋友们。

(1)、目标  

  学习安卓的开发我们最近的目标就是能够自己独立开发APP的能力。

独立完成一个App的分解:

  1) 搭建框架
  2) 开发功能
  3) 快速学习能力
  4) 解决问题能力
  5) 英文文档阅读能力
  6) 调试技术
阶段目标:
1) 掌握项目开发流程
2) 了解项目成员组成结构
 
PC
c/C++/Delphi                  单机
web
JAVAEE/.net/PHP/Python/Ruby ROR/NodeJS
MobileInternet
JAVASE    Objective C(Swift)   C#
 
2. 移动互联网项目成员组成结构
1) 美工                         
2) 项目经理                   
3) 服务端工程师             
4) Android工程师          
5) iOS工程师                 
6) 前端工程师                
7) 产品经理                   
8) 测试工程师                
9) 交互设计师UI/UE       
 
必须
1) 服务端工程师             
2) Android工程师          
3) iOS工程师                 
 
3. 产品
微信
 
 
 
 
产品
项目
 
 
 
项目
模块
 
 
 
模块
一类流程的集合
 
 
 
流程
若干功能
 
 
 
 
4. 项目框架
功能:组织多个模块
常见的类型:
1) Tab页面
2) 侧滑菜单
 
5. 分析App通用功能
1) 欢迎页面
2) 新手引导
3) 主页框架
4) 列表
5) Banner轮播图
6) 用户管理
          注册、登陆、忘记密码、短信验证、第三方账号(新浪微博)
7) 收藏/浏览历史
8) 设置
          仅wifi下载图片
          夜间模式
          意见反馈
          升级
          分享
          关于
          注销
9) 支付
10) 搜索
 
6. 常用的技术
1) ViewPager
2) 安全   第三方接口
3) 数据库
4) HTTP
5) 异步
6) JSON  
7) 复用
8) 工具类
9) IOC  DI
二. 项目框架搭建
1. 欢迎页面
作用:加载资源,通过进度显示表明软件正在运行
分析
1) 简单布局(图片 + 文字)
2) 2秒钟后自动跳转
3) 有动画
4) 有广告(跳过)
5) 没有标题栏
6) 不能回退
 
Android碎片化问题
1) 多种定制ROM  
          小米   三星   华为
2) 多个操作系统版本共存
      8            2.2   
      9~10     2.3               phone 
      11~13      3.0~3.2        pad                不开源
      14~20     4.0~4.4        phone + pad  
     21           5.0   
 
 
2. 新手引导页
分析:
1) 多张图片水平滑动切换
2) 第一次显示
3) 不能回退
4) 跳过按钮
5) 立即体验
 
3、 Fragment(片段)的创建步骤
1.首先你需要的创建一个类去继承SupporV4的Fragment
 
2. 重写onCreateView()方法,关联一个布局
注意点:关联布局的时候你需要找你的布局,然后用你当前布局对象去找你布局上的控件,记住一定要用当前布局的对象,否则到时候会出现空指针的问题。这边很多人会忘记,所以需要注意点。
  当你在布局中拖拉Fragment的时候需要给Fragment一个id。
  ViewPager的使用,在布局中随意的拖拉一个控件,然后将其属性改成 ViewPager。
 
4.静态使用Fragment的方法(了解)
1) 修改当前类,继承FragmentActivity
2) 拖拽一个Fragment到当前布局中
 
5. 动态的使用Fragment的步骤:
1) 在Activity布局中添加一个FrameLayout,用来确定Fragment动态添加的位置
2) 代码中动态添加Fragment,可以在代码中进行片段的添加,删除,修改
 
6.布局中的Button快捷注册事件的方法
1) 在Activity的布局中,Button控件中添加一个属性 android:onClick
    值为方法名称
2) 方法命名规则:public void开头,参数为View v
 
7.
动态使用的Fragment与Activity之间的交互
 Activity调用Fragment中的方法
1) 在Activity中调用fragment的changeText()方法   
2) 在Fragment中查找到TextView控件
3) 在Fragment中新建方法,改变TextView内容
  Fragment 调用Activity中的方法
1) 在Fragment中通过 getActivity() 获得Activity对象,并调用Activity的方法
2) 在Activity中新增changeText()方法
 
8.在创建Fragment的时候所遇的常见的问题以及解决方法;
1. @android:style/Theme.Holo.Light.NoActionBar requires API level 13 (current min is 8)
Class requires API level 11 (current min is 8): android.app.Fragment
解决:ApI的版本不一样,你只需要将版本改成一样的就可以了
 
 
2.AndroidRuntime(4103): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ex_templete/com.example.ex_templete.MainActivity}: android.view.InflateException: Binary XML file line #28: Error inflating class fragment
日志提示的原因:
06-02 07:47:59.154: E/AndroidRuntime(4103): Caused by: java.lang.ClassCastException: com.example.ex_templete.MyFragment cannot be cast to android.app.Fragment
原因:继承的Activity内部只能添加 android.app.Fragment的片段,不支持supportV4的Fragment
解决:修改继承FragmentActivity
 
 
 
    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

转载于:https://www.cnblogs.com/random-921223/p/4556890.html

2016-02-15 15:12:03 qq_26854927 阅读数 64

今天开始写关于自己学习android app开发的学习笔记,本人不是虽然不是初学者,之前已经学习一定的基础,但是依然感觉自己是个小白,所以就写这篇笔记来勉励自己学习。

android app学习进度

阅读数 330

没有更多推荐了,返回首页