自学Android 01 基础

(所有学习资料来自mars和《第一行代码》)


*系统构架:

我们在application framework上进行开发,具体要学习的是如何使用里面的类,如何实例化

*基于组件的应用程序开发:

活动:我们看得到的东西都是放在活动中。它是界面,用户进行交互。

服务:后台的,默默的运行,用户看不见。

广播接收器:接受来自各处的广播信息(监听手机发生的所有事情,监听系统一切行为),比如电话,短信,手机快没电了;当然我们也可以发出信息。

内容提供器:为应用程序之间的共享数据提供可能,比如我们想读取通讯录里的联系人。它是一种向外暴露数据的方法,别人知道你的contentProvider的地址就可以访问你的数据了。

*其他一些特点:

丰富的系统控件——用来写界面

SQLite数据库——是安卓自带的轻量级数据库

地理位置定位——内置有GPS

强大的多媒体——音乐,闹钟,拍照等等(科研要做提醒感觉会用到的样子!)

传感器——加速度,方向等

 

*eclipse都了几个图标:

第一个sdk管理器

第二个安卓模拟器

第三个skip all breakpoints

第四个用来进行代码检查

*创建第一个程序:

前两个首字母大写,并且项目名通常不含有空格

包名像一个网站域名倒过来写一样

其他就是根据字面意思来选择

这个页面是选择应用程序的图标的

创建活动界面,更具不同的需求需要选择不同的活动

运行查看helloworld,右键项目->run as->Android application

*使用DDMS窗口(window->open perspective->ddms)——Dalvik虚拟机调试监控服务

像下图这样的说明我们有一个设备是在线的,如果发现设备都掉线了,我们可以按三角形->reset adb

*具体分析程序:

先来看下项目的目录

src:放代码的

gen:有个r.java,其他会对应src中的文件自动生成的,记住永远不要去手动修改

assets:用的不多,存放随程序一起打包的文件

bin:不用怎么关注,会生成apk文件,拷到手机上能直接安装

libs:如果用到第三方的jar,放在这个文件夹里,它会自动添加到构建路径里去

res:下面有很多目录,我们用到的图片(不同分辨率drawable文件夹),布局(layout),菜单(menu)字符串(values)等等资源都放在这个目录

这些资源都是个是固定,并且会生成id

drawable文件夹有很多个,是不同分辨率的。为了兼容各种设备,我们可能会有同一个图各种分辨率的副本,分别放在对应文件夹内,然后当程序运行会自动根据设备选择加载哪个文件夹里的图。有时候,我们只有一份图,就直接存在drawable-hdpi里。

androidmanifest.xml:主配置文件,四大组件都需要在这个文件里面进行注册。还可以在里面添加权限申明,也可以重新指定兼容版本等等

project.properties:设置项目的属性。编译使用的sdk版本

*具体看下代码:

androidmanifest.xml文件

凡是看得到的界面都是放在活动里的,我们看到的helloworld界面就是HelloWorld这个活动

我们发现在在这个文件里并没有显示字样“Hello world!”出现。

因为安卓是讲究逻辑和视图分离的,不推荐在活动里面直接编写界面。

做法是,在布局文件里编写界面,然后在活动里引入进来。

 

于是打开了res/layout/activity_hello_world.xml 布局文件,但是发现并没有显示字样“Hello world!”出现。

“hello world!”不是在布局文件中定义的~

安卓不推荐在程序中对字符串进行硬编码,一般把字符串定义在res/values/strings.xml里面

字符串的定义使用键值对的形式

修改app_name对应的值可以修改应用的名字。

“Hello world!”值对应了个叫做hello_world的键值。

在activity_hello_world.xml里我们通过hello_world来引用。

我们可以看出如何引用res下的资源:

1. 在代码中 R.string.hello_world 来引用

2. 在XML中 @string /hello_world 来引用

当我们想引用图片就把string部分换成drawable,布局文件是layout......

比如,我们项目的图标就在androidmanifest.xml文件下:

*用LogCat打印日志:

window->show view->other...->Android->LogCat可以打开它。

Log.v()——最小日志信息,级别:verbose

Log.d()——调试信息,级别:debug

Log.i()——重要数据,级别:info

Log.w()——警告信息,级别:warn

Log.e()——错误信息,基本:error

打上一段代码,运行项目,在LogCat中会有信息出来:

?比书上多出了第一条红的和最后条蓝色的不知道是怎么回事

1. 关于error opening trace file: No such file or directory。

回答来自 http://stackoverflow.com/

后来问了老师,老师说这两个错误不要紧的~

时间: 2024-08-25 02:54:12

自学Android 01 基础的相关文章

Lua语言自学之01.基础概念的理解

编程不只是这么简单,它的思维是理性的编程思维,操纵机器干事本来就不是一件简单的事,要干什么,该怎么做,怎么做得才好. 脚本的概念在程序中十分重要,在游戏开发领域,它更是决定性的.脚本语言让程序员可以区分游戏开发的"硬核部分"和"软核部分"."硬核部分"一般对计算机性能要求很高,在开发过程中变更较少,重要性很高.图形引擎和人工智能模块是其中的代表.这些模块最适合使用C或者C++这样的语言开发,可以提供更好的性能."软体部分"控制

如何自学Android

如何自学Android 欢迎转载,转载请注明原地址:http://blog.csdn.net/lavor_zl/article/details/51217319,谢谢. 1. Java知识储备 本知识点不做重点讲解: 对于有基础的同学推荐看<Java编程思想>,巩固基础,查漏补全,了解并熟悉更多细节知识点. 对于没有基础的同学推荐看一本Java基础的书籍,看完后可以继续看<Java编程思想>提升自己. 对于自认为时间很充裕,只要基础学扎实就好的推荐看<疯狂Java讲义>

Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航

经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Genymotion模拟器都准备妥当.在之前简单讲过Eclipse中Android工程的项目结构和运行原理,那么本期就来一起来了解一下Android Studio的项目结构. 一.项目查看模式 前面在熟悉Android Studio界面中提到了Project项目工具窗口,一共支持10种查看模式: 1.project模式: 展示全部文件信息,文件的位置是真实的物理结构,因此在查看文件的时候建议切

我是如何自学Android,资料分享(2015 版)

自己学了两三个月的Android,最近花了一周左右的时间写了个App——Diigoer(已开源),又花了一两周时间找工作,收到了两个Offer,也算是对自己学习的一种认可吧:我刚开始学习总结的——<我是如何自学Android,资料分享>,如果是初学Android 的话,不应该错过的,而今天这篇分享好这篇文章,相对于第一次写的会有所提升,所以建议先把上一篇看了,再来看这一篇:那下面就切入正题吧,之前重复的就不再介绍了,相对于第一季,自己对Android 的认识更加深了(算是入门了吧),干货更多了

我是如何自学Android,资料分享

我是如何自学Android,资料分享(2015 版) 已经完成,我的建议是先把这一篇看完,再看2015 版的.关于我在学习中开发的项目代码,已经发布在: 爱开发-源码搜索,集成了上万个App源码供开发者学习和下载 废话不多说,开始正文: 最近知乎上有网友问我怎么自学Android,其实说实在的,我学的也一塌糊涂,当然在学习过程也积累了一些知识,对于以前没接触过Android的朋友,或者刚入门Android 的朋友,这篇文章作为入门,那是再合适不过了,希望对刚入门Android的朋友有帮助,接下来

转自:如何自学Android(强烈推荐)

转自: http://gityuan.com/2016/04/24/how-to-study-android/ 看到很多人提问非科班该如何学习编程,其实科班也基本靠自学.有句话叫“师傅领进门修行靠个人”,再厉害的老师能教你的东西都是很有限的,真正的修行还是要靠自己.我本科是学数学的,虽然研究生是计算机专业,但研究生往往是做研究工作,并不会接触编程这么基本的东西,关于编程相关我都是靠自学.对于Android这一块,是参加工作还开始接触,开始自己学习的. 学习级别,很多人都往往划分成入门.初级.中间

重新开坑:开始自学Android编程

开坑原因 从高考后开始的这轮对于计算机知识的学习,最早的热情就是来自于学习Android Development.我们几百块钱就能买到一个不错的廉价Android设备,WLAN.GPS.NFC.4G.Screen.Camera等硬件一应俱全,利用这些硬件实现一些有趣的功能,让生活更高效,是我学习Android Development的最初动力.当然,事情不是我想象的那么简单,没有Java基础(或者说没有任何Computer Science基础)的我被搞得晕头转向,只得抱起厚厚的Core Java

Android零基础入门第64节:揭开RecyclerView庐山真面目

大家还记得之前在第38期~第50期都在学习列表控件吗,其中用了8期讲ListView的使用,相信都已经掌握好了吧.那么本期一起来学习Android 5.X新增的一个列表组件,那就是RecyclerView的使用. 一.RecyclerView概述 从前面的学习我们知道,ListView的功能非常强大,几乎绝大部分应用程序都会使用到,虽然也学会一些方法技巧来提升ListView的效率,但其性能还是不是很完美. 另外ListView的可扩展性相对来说比较弱,以前要实现每个列表项的高度不同的界面,或者

Android零基础入门第61节:滚动视图ScrollView

原文:Android零基础入门第61节:滚动视图ScrollView 前面几期学习了ProgressBar系列组件.ViewAnimator系列组件.Picker系列组件和时间日期系列组件,接下来几期继续来学习常见的其他组件. 一.ScrollView概述 从前面的学习有的同学可能已经发现,当拥有很多内容时屏幕显示不完,显示不全的部分完全看不见.但是在实际项目里面,很多内容都不止一个屏幕宽度或高度,那怎么办呢?那就需要本节学习的ScrollView来完成. 在默认情况下,ScrollView只是