本站已关停,现有内容仅作科研等非赢利用途使用。特此声明。
查看: 1413|回复: 0
打印 上一主题 下一主题

Android菜鸟饭团#Udacity Android#第一课 活动笔记

[复制链接]
跳转到指定楼层
1#
发表于 2015-5-17 18:21:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Android菜鸟饭团#Udacity Android#第一课 活动笔记

我们的课程:
1:课程将介绍Android的设计模式与原则,我们要学会到如何使用框架,专注于如何让应用独一无二而不是重复制造,理解如何为移动设备做出最佳的用户体验
2:首先我们会一起学习一个天气的应用程序,因为它比较简单而且包含了大量我们要学习的核心API
3:这里面并不教我们如何做一个具体的应用,而是在锻炼我们像一个移动开发者一样思考。Android移动开发者与普通开发者不同,一些固化的经验和直觉对我们的作用是相反的
4:我们的学习将要用到Android studio,Android Studio是基于Intellij的专门为Android应用开发定制的IDE course,Android SDK是已经包含在内的
建立一个Android项目:
1:打开android studio后,选择“start a new android studio project”
2:application name是应用程序的名字,package name是包名,它应该在所有能在android上安装的包这个范围内都是独一无二的,我们习惯以域名反过来写作为包名,但这种包名不能发布到Google play上,我们通常就让其保持默认,并且我们需要注意包名后缀是否为“.app”
3:我们需要选择最小SDK版本,也许你因版本问题还需要选择目标SDK(目标SDK的android版本应该是设备使用数最多的那个版本),旧版本可以运行新版本,我们应该设置froyo为最低SDK是他能够适配所有>=froyo的机型
4:App我们支持的最早的版本是Gingerbread,这样在Google Play Store激活的设备范围内我们可以覆盖99%的设备,
5:模板我们选择Blank Activity with Fragment
6:我们的Activity名是MainActivity,它的布局由activity_main所定义的,这是一个XML文件,Fragment的布局来自fragment_main,也是一个XML文件
7:创建后,在android studio中,左边是文件目录,默认情况下我们看见的文件是基于
android视图的平面式项目结构,并且高亮显示了我们需要编辑的android源代码文件
8:在不使用android移动设备时我们需要创建一个android SDK中的模拟器(AVD),对于我们来说我们配置一个虚拟的Nexus 5就行了,其中的配置选项默认就行了。这个模拟器实际上是运行Android虚拟机,我们可以在不同的硬件和软件配置上测试和调试程序,可以使用屏幕或者虚拟按键来与应用程序进行交互,
9:Android系统由多个层次组成,Adspace 是 Linux 内核,负责底层任务,像是硬件总线和面板管理,在它上面是C/C++核心库,例如 Libsc SQLite和 Android Runtime。 这里面包含一些库,和Android的虚拟机,Dalvik或者最近出的ART
10:当我们在Android Studio点击运行你的程序时,首先我们的代码会被编译成字节码,然后才会在虚拟机上运行。在项目的根目录中我们可以用 ./gradlew tasks 查看所有能运行的任务。在我们建立一个Android项目时gradle会将字节码和其他资源(如图片、字符串、UI的XML文件)一起编译打包到一个APK应用程序包里(APK包其实是一个特殊格式的zip文件),准备好APK包后给它签上名 然后通过Android Debug Bridge(ADB)推送到设备上,我们可以通过终端界面用ADB和设备交互、debug,还可以做例如推进、拉出文件、查看logcat输出,甚至运行一个远程的shell,一旦Android的GDO被ADB安装了APK,它会再次用ADB发送一个命令 通过远程shell来启动这个App
11:在我们将应用程序安装在手机上时,除了USB数据线的连接我们还要开启手机上的开发者选项中的USB调试,我们可以通过设置_关于手机_版本号(轻触七次)后找到
12:fragment是Activity一个模块化的容器,FrameLayout适合简单的布局(Linear Layout使子视图水平或垂直排列,Relativr Layout 相对布局)
13:ListView把所有可见条目显示出来,可见条目数量取决于手机屏幕的大小,会在上下两头初始化一对条目
14:Context 列表条目布局的id  描述一个应用程序环境的信息,从而获取应用程序的资源和类R.java是自动生成用来统一定义我们所有资源文件。./gradlew tasks 查看所有能运行的任务,Placehelder是创建项目的时候生成的静态内部类,XML文件项目在res目录下可以看到各种各样的资源文件
Activity 简单来说就是一个界面,手机的一个桌面就是一个activity,软件的一个界面都是activity
1.Activity特点
通过后退键和home键返回activity
通过一个activity进入另一个activity
建议通过@string配置activity文字,f3快捷键进入配置文件中,
通过这种字符串输入方式可以很容易支持多语言,更方便
摘自论坛:
android:text=""引号里的一般直接显示,但是@string就表示引用了string资源。你去res\values\下应该能找到一个 string.xml的文件。里面有<string name="hello_world">Hello World</string>这行代码,当然不一定是写的Hello World。这就是定义了一个string资源。你可以吧两个尖括号中的字改了,再运行就会发现变成你改了之后的字。
Android Studio基本操作
通过模拟器执行程序
2.Activity绑定自定义视图
选中常量按快捷键f4进入R.java
R.java由资源文件动态生成
Android程序是从onCreate函数开始执行的
Activity通过setContentView来指定一个视图用来呈现内容

通过右键Refacto->Rename改名
发现R.java全自动的根据layout文件里的activity文件改名
可以把activity绑定其他自定义的布局(layout),
生成全新布局
MainActivity.java文件中已经生成了自定义的my_layout新布局

通过这种方式修改activity所绑定的布局

Project的目录结构
1.manifests
包涵文件AndroidMainifest.xml
是程序的配置文件
2.java
程序所有源代码存放的目录
3.res
资源文件存放目录
3.启动自定义的activity
在my_layout上创建一个Button按钮
进入text更改button名字,和id

之后在mainActivity通过findViewById()访问button的id
可以发现只要在布局文件中定义了btnStarAnotherAty这个id,我们就可以在mainactivity中直接访问这个id
设置一个setOnClickListener事件处理监听器,处理点击事件的接口?不清楚
new一个onclicklistener,按回车系统自动帮助生成
在onclick函数中启动一个activity
首先先创建一个activity,
可以创建一个java class,然后继承activity
还可以通过系统给的默认设定好的activity模板, new->activity
用模板的话,系统全自动的为我们提供layout文件,和一个类文件,在AndroidMainifest.xml文件中帮我们配置一个activity的标签
其他开发环境都需要手动操作
通过一个api:startActivities();
创建一个new intent
Intent括号里应当传进一个context
通过starActivity传一个intent实例,通过这个实例配置启动的目标activity
解决的一个问题:
[Test3Project] AndroidManifest.xml file not found. Please, check Android facet settings.
这个最后发现是工程的文件路径配置不正确,不知道怎么搞的配置搞错了。
按照如下步骤检查:
在Project窗口的工程名称上点击右键,选择“Open Module Settings“(或者使用快捷键 Command+下箭头),检查如下路径是否与实际一致。
此处为贴图,检查 Module--》android--》Structure 中的文件路径。
修改与实际一致后问题解决。
说明一下,在TextView控件中修改了两个地方
android:text="@string/input_file_name_cn"  //修改了text属性,更改了显示的文本内容。
android:id="@+id/label" // 增加了id属性,在相对布局中描述组建之间的相对关系是需要用到id属性,所以这里增加了id属性
EditText控件,接收用户的需要查找的文件名输入。
        android:id="@+id/file_name_edit"   //设置id属性
        android:layout_width="fill_parent"   //设置宽度为填满父组件
        android:layout_height="wrap_content"  //设置高度为根据内容调整
        android:layout_below="@id/label"/>     //设置组件位置为在组件label(也就是上面的TextView)的下方
Button和ListView同上,没有什么特别的地方。
TextView中android:text="@string/input_file_name_cn"这里表示TextView的显示内容是引用的字符串input_file_name_cn的内容。这个字符串定义在 res/values/string.xml这个目录中。

【书记员:鲁登科】
每一个技术小白都有一个成为大神的梦想,现在Android菜鸟饭团就给你这个成就梦想的机会。我们提供最新的Android技术教学,只要你又耐心和毅力就一定会在这里有所收获。
Android菜鸟饭团南阳GDG组织发起,秉承着开放、分享、创新的原则,希望通过GDG社区的力量能够给更多的想要学习Android开发技术的小白们创造一个学习,交流,分享的环境。同往常的GDG活动一样,我们依然是任性的一个子都不要,并且还在周六的分享中提供盒饭和不定期的惊喜小礼物呦~所以快来加入我们吧,为你的大神梦想迈出第一步。
把你的个人信息和申请理由快快发送到android@chuang1.net,前来加入我们吧

ChinaGDG.com
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表