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、AIDL(Android接口定义语言)的使用范围:IPC 多个应用程序 多线程
Binder的使用范围:只有IPC(进程间通信) 多个应用程序 没有多线程
Messenger的使用范围:只有IPC 没有多线程
即想要通过IPC让多个应用程序来访问你的服务,并且该服务处理多线程时才有必要用AIDL
android studio创建AIDL服务具体步骤如下:
http://www.gezila.com/tutorials/58289.html
Android Studio默认是不编译的,没有自动编译,想要得到生成对应的aidl文件需要去编译一下即点图标
IRemoteService类extends Service
5、如何在androidstudio中查看当前使用的gradle版本和gradle插件版本?
http://www.zhihu.com/question/24648316
将Eclipse代码导入到AndroidStudio的方式
http://www.open-open.com/lib/view/open1419597450031.html
6、GitCode
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
9、Android安全
http://www.cnblogs.com/aimeng/p/3361348.html
http://blog.csdn.net/asmcvc/article/details/11595783系列文章
10、android studio中如何导入github项目
不用换gradle版本号或全部拷贝下载源码,只需要按照github上read.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/47682025(AS中导入GitHub开源项目SlidingMenu)
http://jingyan.baidu.com/article/48206aeafc002b216bd6b35d.html(讲述如何开发一个用户登录界面)
http://www.cnblogs.com/aimeng/p/3361348.html(android手机卫士)
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仓库。虽然jcenter和Maven 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
1、handler 2、AsyncTask 3、View.PostDelayed(Runnabe,long) 4、View.Post(Runnable) 5、Activity.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
18、Android网络(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.120即localhost。在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-name的servlet-class的com.servlet.login.LoginAction类中进行后台数据的处理。在后台LoginAction类中因为前端用post方法上传,故也用post解析处理,
2. PrintWriter out = res.getWriter();
3. String username = req.getParameter("user_name");
4. String password = req.getParameter("password");
由解析得到的数据(这里是 username、password)给出判断处理,并最后又out给出返回的响应。至此,后端也打通了。整个过程通过Android端的主界面类LoginActivity.java和HttpUtils.java工具类,以及后台的LoginAction主类,三个类串联打通。
http://blog.csdn.net/yanzi1225627/article/details/24882569
trim 修剪,整理,整齐的,整洁的,苗条的