Android学习笔记及问题整理

来源:互联网 发布:python实现搜索引擎 编辑:程序博客网 时间:2024/06/14 20:55

最近开始学习Android,本篇笔记将记录我在学习Android中的种种问题以及心得。参考博客会给出链接,博主还是菜鸟一个,有写错的地方还望指出。

不断更新ing...

目录

1.关于Android开发工具


1.关于Android开发工具

官网给出了几种选择,一是使用已集成好插件的eclipse,二是单独的插件包,三是Android Studio。

当然一者最为合适。二者还有安装插件,比一者的直接就能使用还麻烦一些。三者还在开发中,如果用之写项目难免会遇到bug,对于新手来说不太合适。


2.下载ADT时遇到的问题

(1)首先是developer.android.com登陆十分费劲,不用代理的情况下直接访问,过了几分钟才进去,点击get sdk就死掉了,没法往下进行。pass

(2)然后我使用了在线代理,点击download那里失去响应。pass

(3)我只好祭出杀招vpn,这回是能点击download了,但是下载地址没读出来(迅雷没反应)。在获取下载地址时关闭vpn,直接访问,迅雷成功得到下载地址。success

当然,这个可能是特殊情况,比如最近几天我直接访问developer.android.com也可以流畅地获取下载地址了,上面的过程算是白折腾了。

考虑了一番还是放出资源给需要的人吧,链接在下

这里记录下我正在使用的版本:adt-bundle-windows-x86_64-20140702.zip([百度网盘]adt-bundle最新版本,于2014-12-6)


3.新建工程后XXXActivity显示多个error

跟我以前使用不同的是,新建完第一个工程后,eclipse又新建了一个"appcompat_v7"的工程(暂不知是何)。

而我之前用的版本新建工程可以直接编写,没遇到这些问题,猜测跟这个"appcompat_v7"工程有关。

搜索了一番后解决了问题,总结在新建或导入Android工程诸多问题


4.拖拽控件时遇到Exception

可能是API版本过高的原因,换成低一些的即可(右上角版本选择),如17。



5.运行时遇到跟adb有关的问题

Run as -> Android Application Project失败时控制台可能会出现下面的信息。

Android Launch!

The connection to adb is down,and a severe error has occured.

You must restart adb and Eclipse.

Please ensure that adb is correctly located at 'xxxx'

一般只需重启adb.exe和eclipse即可,如若不行,可能跟adb.exe被第三方软件占用有关,如豌豆荚。

我试了无数次"adb kill-server"和"adb start-server",依旧无解,用任务管理器杀掉进程"adb.exe"

参考you must restart adb and eclipse的相关解决办法

PS:就最近我的使用情况而言,必须要先adb start-server运行正常之后,再开eclipse才能运行程序。


6.XmlPullParser无法解析从服务器端获取的xml文件

Exception info:no element found

开始以为是字符集的问题,于是xml设为GBK,XmlPullParser设置流也设为GBK,谁知又报错encode非法。只好改回UTF-8。

看了一篇博客之后才知道,如果自信没有哪里写错那么可能是API版本问题,使用过渡流的方法解决。

参考android常见问题一:pull解析xml格式的InputStream遇到的问题


7.设置无标题栏Activity时遇到You need to use a Theme.AppCompat theme

在清单文件中对activity设置

android:theme="@android:style/Theme.NoTitleBar"
遂报错

01-21 11:26:05.953: E/AndroidRuntime(488): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.spade.mobilesafe/com.spade.mobilesafe.SplashActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

解决办法:该类继承的是ActionBarActivity改为Activity即可


8.Android SDK更新诸问题

1.建议为sdk manager配置上代理服务器以提速,如果打开sdk manager之后Packages下面都是空的,多半是没连上google的服务器,那么这时候只能选择配置代理服务器了。在这里附上一个好用的镜像:mirrors.neusoft.edu.cn:80

2.log上出现如下红字

Downloading Documentation for Android SDK, API 22, revision 1
  Resuming Documentation for Android SDK, API 22, revision 1 download at  119398288 (40%)
Download finished with wrong size. Expected 177069196 bytes, got 46726920 bytes.

那么可能是在下载这个组件的过程中发生了丢包,如果多次尝试后都无法安装,那就选择直接下载的方式安装吧。

下面以我未安装成功的Documentation for Android SDK, API 22, revision 1来举例

2.1 在从服务器端得到该组件所在的xml文件

在log中找到该组件所在的xml文件URL,如下

Parse XML:    http://dl.google.com/android/repository/repository-10.xml

....

Found Android SDK Tools, revision 24.1.2
  Found Documentation for Android SDK, API 22, revision 1

....

. 在一些Found中我们找到了Documentation for Android SDK, API 22, revision 1,顺藤摸瓜,在上方的Parse XML后面发现了xml的url。接着,用浏览器打开它。

2.2 在xml中找到该组件的下载地址

xml中有很多组标签,其中<sdk:url></sdk:url>中的内容就是组件压缩包的文件名,如:<sdk:url>docs-22_r01.zip</sdk:url>

找到了文件名之后我们再得到url前缀即可获得下载地址。其中,xml所在的上一级目录及压缩包所在目录,所以可得: http://dl.google.com/android/repository/docs-22_r01.zip

接着使用如迅雷等下载工具进行下载即可。下载完成后将压缩包放入sdk/temp下,接着重启sdk manager,再install即可。

0 0
原创粉丝点击