记我的第一个安卓APP遇到的那些坑

赶鸭子上架写了自己的第一个(简陋的)APP,感觉像是上了个安卓开发(从入门到放弃)速成班~ 全程都在拼命百度、Google各种问题,很多人的Blog中都有详细的总结和教程,StackOverFlow上更是很多高质量回答,于是总结了一下,做一个备忘!



  • 记我的第一个安卓APP遇到的那些坑
  • 程序中的问题
  • ListView首部及底部分割线
  • 在Activity中获得其他xml布局中的控件
  • 关于Android Studio
  • 如何进行真机调试



程序中的问题

ListView首部及底部分割线

为什么 HeaderDividersEnabled=”true” 属性根本不管用?

  • 首先看一看API文档中关于此属性的提示:
    Android:HeaderDividersEnabled
    When set to false, the ListView will not draw the divider after each header view.
  • 也就是说这个属性用来控制显示header view之后的分割线,所以我们必须先得有个header view,FooterDividersEnabled属性同理。解决方法就很简单了。
ListView list = (ListView) findViewById(R.id.listview);
list.addHeaderView(new View(this));
list.addFooterView(new View(this));

在java代码中加入以上几行,这两个属性就管用,ListView就能显示出首部和尾部分割线啦!


在Activity中获得其他xml布局中的控件

我的a_Activity.java对应的是a_layout.xml,可是我就是想在a_Activity中调用b_layout.xml中的控件,怎么办?

  • 不能直接通过findViewById()来获取,因为你没有获得b的布局,那么当然要先获取b_layout啦。
LayoutInflater factory = LayoutInflater.from(a_Activity.this); 

View layout = factory.inflate(R.layout.b_layout, null); 

TextView textview = (TextView) layout.findViewById(R.id.whatINeed);

上面的代码中a_Activity就是你正在编写的java,b_layout就是你要获取的控件所在的layout。


关于Android Studio

对这个软件有很复杂的心理!本来很粉IntelliJ IDEA,Studio就是脱胎于IDEA的,可是也许是出于水平问题,用Android Studio时并没有感觉那么便利,一直一直在下载文件,还把我的C盘都快占满了TAT……
于是打算做完重新装一下。

如何进行真机调试

真机调试肯定是要比虚拟机方便和直观的!

设置也很简单:

android 不同app传数据_Android


选择上图中“Edit Configurations”(或者在Run菜单中找到),进入设置。

android 不同app传数据_android 不同app传数据_02


如上图,在General选项卡中找到Target,选择“USB Device”,保存设置!然而有的时候点击运行项目,会提示找不到设备……

我们可以找到Android Device Monitor!

android 不同app传数据_android_03


它会自动为我们查找可以设备(前提是安卓手机已连接并开启开发者模式),需要在手机上同意一个密钥,你可以在Android Device Monitor列表中看到自己的设备,这时就可以Run项目啦。