Android学习笔记一

这篇博客介绍了Android中多种数据存储方式,包括SharedPreferences、文件存储、SQLite数据库、ContentProvider和网络存储。同时,提到了Volley网络请求库的使用和ListView的适配器类型。此外,讨论了Android Activity和Fragment的转场动画,以及Android Binder机制在进程间通信中的作用。还涵盖了Bitmap内存优化、Android Studio快捷键和进程间通信(AIDL)的使用步骤。
摘要由CSDN通过智能技术生成

1、64位Android Studio打开的是studio64.exe,不是studio.exe。

2、ctrl+alt+t快捷键调出 try catch模块

Alt+回车 自动生成              alt+enter查看出错的建议解决方法

ctrl+alt+m 会将选定的代码封装成方法提出来

(Ctrl+R || Ctrl+H)“替换”名字功能

http://hukai.me/android-training-course-in-chinese/index.html#userconsent#

按住“shift”键再按下“\”键可以打出||

3、快捷键

http://www.android-studio.org/index.php/docs/experience/142-androidstudio-shortcut-keys

4、AIDLAndroid接口定义语言)的使用范围:IPC  多个应用程序  多线程

Binder的使用范围:只有IPC(进程间通信)  多个应用程序  没有多线程

Messenger的使用范围:只有IPC  没有多线程

即想要通过IPC让多个应用程序来访问你的服务,并且该服务处理多线程时才有必要用AIDL

android studio创建AIDL服务具体步骤如下

http://www.gezila.com/tutorials/58289.html

Android Studio默认是不编译的,没有自动编译,想要得到生成对应的aidl文件需要去编译一下即点图标

IRemoteServiceextends Service

5如何在androidstudio中查看当前使用的gradle版本和gradle插件版本?

http://www.zhihu.com/question/24648316

将Eclipse代码导入到AndroidStudio的方式

http://www.open-open.com/lib/view/open1419597450031.html

6GitCode

http://www.android-doc.com/guide/components/index.html?q=aidl#q=aidl

7、 Layout_开头的布局属性都是交给父容器的,没有Layout_开头的都是本身的属性。

LinearLayout中的Layout_weight属性,首先按照控件声明的尺寸进行分配,然后再将剩下的尺寸按weight分配。即首先减去控件声明的尺寸,剩下的尺寸按比例分配。

8、Monkey runner

 Monkey runner和 Monkey是Android SDK中自带的两个测试工具。monkey主要应用在压力和可靠性测试上,运行该命令可以随机地向目标程序发送各种模拟键盘事件流,并且可以自己定义发送的次数,以此观察被测应用程序的稳定性和可靠性,应用起来也比较简单,记住那几个命令就行了。而monkeyrunner呢,相比之下会强大一些,它主要可应用于功能测试,回归测试,并且可以自定义测试扩展,灵活性较强,并且测试人员可以完全控制。

http://blog.csdn.net/zm2714/article/details/7980634

http://www.linuxdiyf.com/linux/18510.html

http://www.xuebuyuan.com/1613688.html

9Android安全

http://www.cnblogs.com/aimeng/p/3361348.html

http://blog.csdn.net/asmcvc/article/details/11595783系列文章

10android studio中如何导入github项目

不用换gradle版本号或全部拷贝下载源码,只需要按照githubread.me介绍的步骤一步一步做,然后调错直到改好就行。

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0623/3097.html

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0623/3097.html

http://blog.csdn.net/j236027367/article/details/48802493

http://blog.isming.me/2014/12/12/import-library-to-android-studio/

11、学习

http://blog.csdn.net/shenyuanqing/article/details/47682025AS中导入GitHub开源项目SlidingMenu

http://jingyan.baidu.com/article/48206aeafc002b216bd6b35d.html讲述如何开发一个用户登录界面

http://www.cnblogs.com/aimeng/p/3361348.htmlandroid手机卫士)

12 XutilsXutils3的基本使用

Xutils是Android的第三方开源框架,包含了很多实用的Android工具类。

http://blog.csdn.net/abc6368765/article/details/50699334

http://blog.csdn.net/wangsidadehao/article/details/50757211

http://www.cnblogs.com/dreamos/p/5010821.html

13、在实现从欢迎界面到主界面跳转时:

注意:MainActivity中xml文件有2个(一个调用另一个),要生成无用的那个,直接用有用的那个xml布局,不然会一直崩溃。

14、进入主界面之后实现Tabs滑动切换

http://blog.csdn.net/liguojin1230/article/details/45568185

http://blog.163.com/shexinyang@126/blog/static/13673931220157552844552/

见慕课网http://www.imooc.com/course/list?c=android&page=3

http://www.jcodecraeer.com/a/opensource/2016/0518/4272.html

15、优化Android布局include、merge 、ViewStub

http://blog.csdn.net/xyz_lmn/article/details/14524567

16、build.gradle中jcenter():
两个标准的Android library文件服务器:jcenter   Maven Central。不管是jcenter还是Maven Central ,两者都是Maven仓库。虽然jcenterMaven Central 都是标准的 android library仓库,但是它们维护在完全不同的服务器上,由不同的人提供内容,两者之间毫无关系
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0623/3097.html
17、Android中UI线程与后台线程交互设计的几种方法
http://blog.csdn.net/yony2011/article/details/11952735
1handler  2AsyncTask  3View.PostDelayed(Runnabe,long)  4View.Post(Runnable)  5Activity.runOnUIThread(Runnable)
http://www.cnblogs.com/devinzhang/archive/2011/12/30/2306980.html
http://blog.csdn.net/amazing7/article/details/51424038
http://www.jb51.net/article/43360.htm
 
18Android网络(3):HttpClient作客户端,Tomcat Servlet作服务器的交互示例
http://blog.chinaunix.net/uid-25799257-id-3774047.html(前端Android发送请求,这里URL=http://10.81.98.120:8080/TaxiServlet/ login)
http://blog.chinaunix.net/uid-25799257-id-3774015.html
后台处理,这里后台项目为TaxiServlet)
其中在前端Android中根据输入的用户名和密码,得到并封 Map<String, String> params = new HashMap<String, String>();
    params.put("user_name", userName);
params.put("password", password);
String encode = "utf-8";
然后调用HttpUtils 工具类的sendMessage(params, encode)方法发送请求。int responseCode = HttpUtils.sendMessage(params, encode);得到HttpUtils类返回的响应码(注意此处得到的是HttpUtils类返回的数据,不是由网络直接返回的数据),进行判断和后续处理操作。
HttpUtils 类中封装的有对数据上传网络的统一的步骤和格式。比如:
     private final static String PATH = "http://10.0.2.2:8000/TaxiServlet/login";
HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();

urlConnection.setConnectTimeout(3000);

urlConnection.setRequestMethod("POST");    ///< 设置请求方式

urlConnection.setDoInput(true);            ///< 表示从服务器获取数据

 urlConnection.setDoOutput(true);        ///< 表示向服务器发送数据

 

最后就能 ///< 获得服务器的响应结果和状态码

                   int responseCode = urlConnection.getResponseCode();

                    //System.out.println(""+ responseCode);

                    if (200 == responseCode)

                    {  return changeInputStream(urlConnection.getInputStream(), encode); }

根据得到的网络返回的数据urlConnection.getInputStream()进行自己定义的changeInputStream()方法处理返回给Android端调用此方法处。至此,从前端Android到网络URL处已打通。

1.   在后台,因为URL= http://10.81.98.120:8080/TaxiServlet/login,故需去找部署在http://10.81.98.120:8080/处的TaxiServlet项目。本次用的tomcat部署在自己的电脑上,连的WLAN的网络地址为10.81.98.120localhost。在TaxiServlet项目中的web.xml中设置<web-app>

2.       <servlet>

3.           <servlet-name>login</servlet-name>    <!-- 名字随便 -->

4.           <servlet-class>com.servlet.login.LoginAction</servlet-class>    <!-- servlet类名-->

5.       </servlet>

6.    

7.       <servlet-mapping>

8.           <servlet-name>login</servlet-name>

9.           <url-pattern>/login</url-pattern>    <!-- url访问虚拟路径,最后我们就是通过工程名/login进行访问的,像这样http://127.0.0.1:8000/LoginAction/login-->

10.      </servlet-mapping>

1.   注意url-pattern(url访问虚拟路径)URL地址一致,都是/login。故转到相同servlet-nameservlet-classcom.servlet.login.LoginAction类中进行后台数据的处理。在后台LoginAction类中因为前端用post方法上传,故也用post解析处理, 

2.           PrintWriter out = res.getWriter();

3.           String username = req.getParameter("user_name");

4.           String password = req.getParameter("password");

由解析得到的数据(这里是 usernamepassword)给出判断处理,并最后又out给出返回的响应。至此,后端也打通了。整个过程通过Android端的主界面类LoginActivity.javaHttpUtils.java工具类,以及后台的LoginAction主类,三个类串联打通。
http://blog.csdn.net/yanzi1225627/article/details/24882569
trim  修剪,整理,整齐的,整洁的,苗条的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值