android开发流程
- 先选择开发工具(eclipse,Android Studio) 下载
- 本地配置jdk,sdk,tools
- 建工程=>模拟器=>打开开发者=>连接手机
- 项目目录
需要具备的基础知识
-
四大组件
- activity
- service
- Broadcast Receive(扫描枪app开发)
- Content Provider
2. 生命周期

3. 页面跳转和传值
通过intent(意图:发广播,服务通讯,主要协助组件内通讯,拨打电话,打开网页,跳转到其他应用,发送短信,进入手机设置页面,打开播放器,地图,卸载应用,选择图片,相机等)进行跳转
Intent intent = new Intent(getContext(), TakeRecordActivity.class);
startActivity(intent);
//传值和回传
Intent intent = new Intent(FourImgsActivity.this,TakeRecordActivity.class);
intent.putExtra("take_type","four_img");
startActivityForResult(intent,100);
打开应用,跳转指定页面,类似前端重定向功能
<activity
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
4. 数据存储方式
- 使用SharedPreferences存储数据;
- 文件存储数据;
- SQLite数据库存储数据;
- 使用ContentProvider存储数据;
5. 数据类型

private int comment_cnt;
private boolean is_like;
private List users;
private String works_topic;
6. UI绘制和逻辑交互
- xml布局,LinearLayout,RelativeLayout(类似前端flex);
- 通过id找到view对象进行交互;
- listview、gridview、viewpage 适配器功能;
- popwindow、alert、toast;
- fragment实现组件化
开发方式


7.发布流程
- 生成keystore或用自己的keystore签名文件,打正式包必须要进行签名
- build打包工程,生成apk包,防止反编译,要加入混淆代码;
- 将生成的apk包发布到应用市场;
- 上传应用市场时,需要提供app简介,app宣传图,以及不同尺寸的logo;
移动开发与前端结合(webview)
小技巧
1. 如何判断一个页面是webview还是原生页面




android 优缺点
优点
- 体验流畅
- 能使用很多系统api
- 技术成熟,类库,view封装的比较全
缺点
- 使用成本比较高,升级发布过程繁琐
- 开发时,调试不友好,内存泄漏,出错容易导致系统崩溃
- UI绘制,一些效果实现起来比较复杂
- 学习成本高,需要java基础
前端优缺点
优点
- 开发方便,即改即看
- 圆角阴影等实现起来简单
- 审查元素,借鉴其他优秀网站
缺点
- 没有系统api使用权限
- 开发技术未稳定