标签:
1.1 打开AndroidStudio
1.2 新建项目
1.2.1 填写项目相关信息
1.2.1.1 填写项目名
1.2.1.2 填写公司域名/个人域名
1.2.1.3 填写App包名(默认根据域名自动生成:域名倒写+App名/项目名。如:App名为“Happy Birthday”,域名为google.com,则默认包名为com.google.happybirthday)
1.2.1.4 项目所在磁盘位置
1.2.1 选择要开发的Android设备
1.2.2.1 Android手机和平板
1.2.2.1.1 根据推荐选择Android4.0.3,API15。
1.2.2.2 Android手表(可能也包括其他可穿戴设备)
1.2.2.3 Android电视(电视盒子?)
1.2.2.4 Google智能汽车?(后来百度了,说是用于汽车和手机信息交互的)
1.2.2.5 Google眼镜(真的好棒啊~但是由于应用缺乏、成本过高、信息安全问题、分散用户注意力等问题,该项目被取消了。如此一来,开发Google眼镜应用的开发者想必也更少了)
1.2.3 选择【Empty Activity】(视频里的老版本AndroidStudio没有这个选项,只有【Blank Studio】)
1.2.4 Activity名字、布局文件名字,暂不修改,直接【Finish】
1.2.5 正在加载……
1.2.6 项目默认显示界面
1.3 运行第一个项目
1.3.1 真机
1.3.1.1 准备好USB连接线+Android手机
1.3.1.2 USB连接线的一端连着手机,一端连着PC
1.3.1.3 驱动安装(感觉插上电脑,就会自动安装驱动……)
1.3.1.4 确保USB调试已打开
1.3.1.4.1 打开开发者模式(不同手机打开开发者模式的方式不同)
1.3.1.4.1.1 Android原生系统的打开方式如视频所说
1.3.1.4.1.2 vivo X3t(步步高)的打开方式是:在拨打电话界面输入##7777##进入开发者模式(我和我的小伙伴们都惊呆了)
1.3.1.4.1.3 vivo X1st:设置->通用->应用程序->开发->USB调试
1.3.1.4.1.4 Nexus 6P:对喔,这是原生Android系统应该归为第一类。(我才不会说我是来秀手机的呢~)
1.3.1.4.2 打开了开发者选项,就打开USB调试吧
1.3.1.5 点击【Android Monitor】可以看到自己的手机的型号以及Android版本,说明已经连接上了
1.3.1.6 点击运行按钮
1.3.1.7 选择自己的手机,点击OK(默认会选择列表里的第一个,如果没有运行模拟器,也没有连接其他手机,直接点OK就好了)
1.3.1.8 运行可能稍微有些费时(不过听说最近几次更新的AndroidStudio大大加快了编译速率),等待片刻就可以看到它在你的手机上运行成功了!(没错我的屏碎了,不要在意这些细节)
1.3.2 虚拟机
1.3.2.1 新建虚拟机
1.3.2.1.1 点它,对就是它,那个手机右下角躲个Android小机器人头的按钮
1.3.2.1.2 点击【Create Virtual Device】按钮
1.3.2.1.3 选择一台手机(别点到电视、手表或者平板去了……),点Next
1.3.2.1.4 选择系统镜像,有三个页卡:推荐系统、x86镜像、其他镜像。其实最好是选最新的,因为向下兼容嘛,最新的可以展示所有效(te)果(xiao)(很黑很亮加特效,全是化学的成分~)有提示说我的电脑CPU太渣并不能【加速虚拟化(accelerated virtualization)】,大概是AndroidStudio2.0的新特性,不管了……
1.3.2.1.5 然后就是填写你的虚拟机的名字, (注意不能重名,如图是错误演示),修改分辨率以及屏幕大小,修改Android版本(如果在上一页选择Android的版本不满意的话,还可以改),还有选择默认横屏竖屏啥的,都用默认的吧,点击Finish。然后坐等加载完成。
1.3.2.1.6 好了,现在看到创建的虚拟机出现在虚拟设备列表了,点击运行。(注意你给虚拟机分配的内存,如果电脑内存不够它会运行不起来。要是电脑内存太小,建议加内存条。玩AndroidStudio的,没8G内存根本带不起来)
1.3.2.1.7 首先是黑屏,然后出现了Android字样,接着就亮了,解锁,完美!
1.3.2.1.8 点击运行按钮,选择虚拟机,等待片刻就可以看到HelloWorld运行在虚拟机上了。
1.4 Happy Birthday的具体编写过程就不赘述了。先展示运行截图,下面直接show代码。
1.5 Talk is cheap, show you my code.
1.5.1 XML布局文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@mipmap/pic" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-condensed"
android:text="Happy Birthday, Taryn!"
android:textSize="36sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif-condensed"
android:text="From Relish"
android:textColor="#280000"
android:textSize="36sp" />
</RelativeLayout>
(StudyJams的视频后面没给答案,所以我是以我理解所答,答案仅供参考)
2.1 If I want to show a picture on my phone, what XML element should I use?(当想在手机上显示一张图片,我该使用xml中的什么控件?)
答:
ImageView、ImageButton、QuickContactBadge
其实所有View都有android:background属性,所以都可以用来显示图片;如果非要说android:src属性的话,我记得的只有ImageView和ImageButton。(后来查了帮助文档看到这么个类android.widget.QuickContactBadge也有android:src属性,还是ImageView的子类呢)
2.2 android:layout_width,android:text,android:src are all examples of what?(这三个属性是属于哪个什么控件的?)
答:
无答案?
说实话,这题有点蒙。首先想到的是ImageButton。我心里想着ImageButton继承Button,Button有android:text属性……待我在AndroidStudio里打了一发代码,发现ImageButton并没有text属性。然后在android:src属性上查看文档(Ctrl+Q),它说:“Sets a drawable as the content of this ImageView.”可见src是ImagView的特有属性。这里有个文字游戏,因为ImageView和QuickContactBadge都是ImagView的子类,所以他们都是ImageView。(就像男人女人都是人一样)。我觉得没有答案。(好怕说错,大神请指正。)
2.3 Write the Sentence “I like practice sets the best” in CamelCase.(将这句话写成大驼峰命名格式)
答:
ILikePracticeSetsTheBest.
2.4 RelativeLayout and LinearLayout are known as what?(相对布局和线性布局都是什么?【大概是问他们的公共父类是什么】)
答:
ViewGroup。
其实答View也可以,毕竟View是ViewGroup的父类,ViewGroup是一种View。(又玩文字游戏……逃~)
2.5 I always need to _ and __ my tags.(我总是需要对我的标签做那两件事?)
答:
开启和关闭标签。
本来是想答定义宽度(android:layout_width)和高度(android:layout_height)的。后来想到了。而且题干也没说是View控件标签,还有Selector选择器,还有AndroidManifest,还有前端时间听说的矢量图VectorDrawable(顺便一提,看到android:pathData标签里写的内容的时候,我整个人是懵逼的)等等等。所以还是开、闭标签比较靠谱。
2.6 What are the names of the two instructors?(两个导师的名字是什么?)
答:
Katherine Kuan & Kunal Chawla。
问的是前面两期教学视频的导师名字。我是真没记住,打开第一期视频的第一集的00:06秒,就可以看到了。
2.7 Which line has an XML error on it?(哪一行上有一个XML错误?)
答:
21行。
Android:weight标签的属性值需要双引号。
2.8 What is the width of the TextView?(文本框的宽度是多少?)
答:
350dp。
由于它的父亲宽度是350dp,且它自己的宽度是match_parent(匹配父布局的),所以它的宽度也是350dp。
2.9 Here’s some code with two attributes missing inside of the button tag.Complete this code so that the button is positioned here on the phone screen.(在按钮的标签中有两个属性漏掉了,把它补全,使按钮在手机屏幕上这里显示出来)
答:
android:layout_alignParentBottom="true" //底部与父布局底部对齐
android:layout_centerHorizontal="true"//水平居中
2.10 Assume you are using the XML to the left and you have a screen that has 600 dp tall. What is the height of the ChaiTea text view? (假如你用左边的xml文件。你有个600dp高的屏。那么Chai tea 文本框的高度shi 多少?)
答:
100dp。
(600-200)/(2+1+1)*1 = 100dp。
(不废话了,困死了。)
标签:
原文地址:http://blog.csdn.net/r3lish/article/details/51274773