The teacher is Dr. Adam Porter
Preview lectures
Asignments
Lecture 1 slides
3 Applications
2 Application Framework
1 Native System Libraries (Native DK) / Runtime (Davlik - Core Libraries)
0 Linux Kernel
3 : Contacts, Phone, Browser, Home app, etc
2: reusable software that many applications will need like Package Manager , Window Manager, View System (common user interface elements such as Tabs, Lists, grids, text boxes, buttons, textview ), Resource Manager (non-compiled code resources: strings, graphics, & layout files), Content Providers, Activity Manager, Location Manager
1 : core performance sensitive activities on device (native dev kit) such as C library, surface manager, media manager webkit etc. / File packaged with other resources and installed on device. Dalvik VM executes the Dex Bytecode file when invoked on device. Dalvik VM designed to be resource constrained environment with slower cpu, less memory, limited battery life System C library .
0 : Standard services - Provides infrastructure mechanisms to manage mobile device resources. Android specific such as power management, Android Shared memory, Binder, etc
Use the Hierarchy Perspective after the program is launched :
here is some sample output(click on your activity on the left):
The Traceview within DDMS can be pressed to start when a debug tracepoint is hit, which starts the profiling. After profiling is started, let it run through, and then click the same button to end the profiling. The botton to start/stop is shown:
After hitting the end button, the output is shown (timeline view on top and profile view on bottom):
Method profiling - select class, start it, then do something on device with app, click stop:
This first week includes:
1. The Week 1 Quiz. Sixteen or so questions to help you make sure you've followed my lectures.
2. Two Labs.
a) Lab - Learn to Submit - A very simple assignment designed to make sure that you can submit work to the Coursera system for grading
"To do this assignment, simply create a one-line text file with the name of your home country and nothing else. Make sure you are creating a real text file, not, for example a .rtf file" Then click on the submit button to select and upload that text file."
b) Lab - Development Environment - A more involved Lab to help you set up your Development Environment and to familiarize yourself with it.
Intel Hardware Accelerated Execution Manager(HAXM)
- About: http://software.intel.com/en-us/android/articles/speeding-up-the-android-emulator-on-intel-architecture
- Downloads: http://software.intel.com/en-‐us/articles/intel-‐hardware-‐accelerated-‐execution-‐manager
AndroidManifest.xml:
Define your package :
package="course.examples.theanswer"
Define your Actvity:
<activity android:name="course.examples.theanswer.TheAnswer" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
<RelativeLayout...
<TextView android:id="@+id/answer_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="24sp" />"
set your layout and access your widget
setContentView(R.layout.answer_layout); TextView answerView = (TextView) findViewById(R.id.answer_view); answerView.setText("The answer to life, the universe and everything is:\n\n"+ output);
calculator with 2 EditText , TextView widgets and a Button with on click listener:
final EditText value1 = (EditText) findViewById(R.id.value1); final EditText value2 = (EditText) findViewById(R.id.value2); final TextView result = (TextView) findViewById(R.id.result); Button addButton = (Button) findViewById(R.id.addValues); addButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { try { int val1 = Integer.parseInt(value1.getText().toString()); int val2 = Integer.parseInt(value2.getText().toString()); Integer answer = val1 + val2; result.setText(answer.toString()); } catch (Exception e) { Log.e(LOG_TAG, "Failed to add numbers", e); } } });
JUNIT Test of Layout
LayoutTests extends ActivityInstrumentationTestCase2<MainActivity>
public LayoutTests() { super("com.mamlambo.article.simplecalc", MainActivity.class); } protected void setUp() throws Exception { super.setUp(); MainActivity mainActivity = getActivity();
1 – Log.i(…, …) – Sends an INFO LogCat message
2 – Log.d(…, …) – Sends a DEBUG LogCat message
3 – Log.e(…, …) – Sends an ERROR LogCat message
4 – Log.v(…, …) – Sends a VERBOSE LogCat message
http://developer.android.com/reference/android/util/Log.html
import android.util.Log
private final String TAG = "TheAnswer";
Log.i(TAG, "Printing the answer to life");
settings custom locale:
http://developer.android.com/training/basics/supporting-devices/languages.html
values/ strings.xml
<string name="hello_world">Hello world! My Name is David.</string>
values-es/ strings.xml
<string name="hello_world">Hola Mundo! Me llamo es David!</string>
layout/activity_main.xml: TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world"
https://code.google.com/p/simple-calc-unit-testing/downloads/detail?name=FullCodeDownload.zip&can=2&q=
3. The Getting to Know You Survey - This is only graded activity for the week. We'd like to get some information about you to help us know more about who you are, your background and your expectations for the course.
http://help.coursera.org/customer/portal/articles/1329059-how-can-i-keep-track-of-course-deadlines-
https://class.coursera.org/android-001/api/course/calendar
No comments:
Post a Comment