Android初体验
上文提到使用genymotion来运行android项目,结果却是令人失望,我这边使用的是代理账户,尽管我在Setting中配置了代理,还是不能登录我注册的账户,郁闷,于是本文采用的是我自己的手机作为运行机子来运行的。
新建工程后,打开activiy_main.xml,在试图模式下,拖拉控件,效果确实不错。
在后台代码中绑定button事件尝试下,android的运行效果:
1 package com.example.administrator.myapplication2; 2 3 import android.support.v7.app.ActionBarActivity; 4 import android.os.Bundle; 5 import android.view.Menu; 6 import android.view.MenuItem; 7 import android.widget.Button; 8 import android.widget.EditText; 9 import android.widget.CheckBox; 10 import android.widget.TextView; 11 import android.view.View; 12 13 public class MainActivity extends ActionBarActivity { 14 15 TextView textView; 16 @Override 17 protected void onCreate(Bundle savedInstanceState) { 18 super.onCreate(savedInstanceState); 19 setContentView(R.layout.activity_main); 20 21 textView=(TextView)findViewById(R.id.textView); 22 23 // 第一种方式: 24 Button btnOk= (Button)findViewById(R.id.btnOk); 25 btnOk.setOnClickListener(new Button.OnClickListener(){ 26 public void onClick(View v){ 27 String strTemp="Hello World!!!"; 28 textView.setText(strTemp); 29 } 30 }); 31 32 // 第二种使用Button的方法: 33 Button btnClick2= (Button)findViewById(R.id.btnClick2); 34 btnClick2.setOnClickListener(listener); 35 } 36 37 Button.OnClickListener listener=new Button.OnClickListener(){ 38 public void onClick(View v){ 39 CheckBox checkBox= (CheckBox)findViewById(R.id.checkBox); 40 checkBox.setChecked(true); 41 } 42 }; 43 44 public boolean onCreateOptionsMenu(Menu menu) { 45 // Inflate the menu; this adds items to the action bar if it is present. 46 getMenuInflater().inflate(R.menu.menu_main, menu); 47 return true; 48 } 49 50 @Override 51 public boolean onOptionsItemSelected(MenuItem item) { 52 // Handle action bar item clicks here. The action bar will 53 // automatically handle clicks on the Home/Up button, so long 54 // as you specify a parent activity in AndroidManifest.xml. 55 int id = item.getItemId(); 56 57 //noinspection SimplifiableIfStatement 58 if (id == R.id.action_settings) { 59 return true; 60 } 61 62 return super.onOptionsItemSelected(item); 63 } 64 }
浏览下activity_main.xml的代码:
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 3 android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" 4 android:paddingRight="@dimen/activity_horizontal_margin" 5 android:paddingTop="@dimen/activity_vertical_margin" 6 android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> 7 8 <TextView android:text="@string/hello_world" android:layout_width="wrap_content" 9 android:layout_height="wrap_content" 10 android:id="@+id/textView" /> 11 12 <CheckBox 13 android:layout_width="wrap_content" 14 android:layout_height="wrap_content" 15 android:text="New CheckBox" 16 android:id="@+id/checkBox" 17 android:layout_below="@+id/textView" 18 android:layout_centerHorizontal="true" /> 19 20 <ImageButton 21 android:layout_width="wrap_content" 22 android:layout_height="wrap_content" 23 android:id="@+id/imageButton" 24 android:layout_below="@+id/checkBox" 25 android:layout_centerHorizontal="true" 26 android:layout_marginTop="33dp" /> 27 28 <Button 29 android:layout_width="wrap_content" 30 android:layout_height="wrap_content" 31 android:text="UsingButtonWithFirstWay" 32 android:id="@+id/btnOk" 33 android:layout_marginTop="75dp" 34 android:layout_below="@+id/imageButton" 35 android:layout_toEndOf="@+id/textView" /> 36 37 <Button 38 android:layout_width="wrap_content" 39 android:layout_height="wrap_content" 40 android:text="UsingButtonWithSecondWay" 41 android:id="@+id/btnClick2" 42 android:layout_below="@+id/btnOk" 43 android:layout_alignStart="@+id/btnOk" 44 android:layout_alignEnd="@+id/btnOk" /> 45 46 </RelativeLayout>
基础才是编程人员应该深入研究的问题,比如:
1)List/Set/Map内部组成原理|区别
2)mysql索引存储结构&如何调优/b-tree特点、计算复杂度及影响复杂度的因素。。。
3)JVM运行组成与原理及调优
4)Java类加载器运行原理
5)Java中GC过程原理|使用的回收算法原理
6)Redis中hash一致性实现及与hash其他区别
7)Java多线程、线程池开发、管理Lock与Synchroined区别
8)Spring IOC/AOP 原理;加载过程的。。。
【+加关注】。