标签:
第一次写博客,可能里面的很多内容会比较不规范点,希望大家体谅下。主要是想把自己学习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
Android的开发学习
标签:
原文地址:http://www.cnblogs.com/random-921223/p/4556890.html