Android的各种基本应用

 

…各种基本应用

1、连接一个URL代码

Uri uri=Uri.parse("URL地址");

Intent intent=new Intent(Intent.ACTION_VIEW, uri);

startActivity(intent);

2、Menu

每个菜单都包含两个部分:

1.)建立菜单

"onCreateOptionsMenu" 函数即菜单列的主体。在Android 机器或模拟器上按下硬体的"Menu"(菜单)键,所弹出的菜单列即是靠"onCreateOptionsMenu"函数来定义。当我们在Activity 中定义了 "onCreateOptionsMenu" 之后,按下"Menu" (菜单)键时,就会弹出相对应的菜单列。

Android 每个页面对应到一个 Activity,每个 Activity 都有一个独立的菜单列。对传入的"menu"参数作处理就能改变菜单列的内容。

public boolean onCreateOptionsMenu(Menu menu) {

super.onCreateOptionsMenu(menu) ;

menu.add(int groupId, int itemId, int order, CharSequence title) ;

… …

return super.onCreateOptionsMenu(menu) ;

}

2)处理选项动作

    当我们在 Android 应用程序的菜单列上选择了相应的选项后,则是依赖

"onOptionsItemSelected"函数,来负责处理菜单列中各选项所个别对应的动作。

public boolean onOptionsItemSelected(MenuItem item) {

super.onOptionsItemSelected(item) ;

 

return super.onOptionsItemSelected(item) ;

}

 

3、Android清单

       Android 系统与其他系统很不一样的地方是:它的应用程序并不直接与底层系统紧密结合,而是跑在 Android 框架中。

       在执行"startActivity"函数时,应用程序并不是直接呼叫另一个 Activity,而是将"Intent"(意图)传进Android 框架中。 Android 框架会查看 "startActivity" 呼叫所传入的动作与 Intent 内容是否在注册表中,如果符合,就启动对应的服务或 Activity。

       Android 系统中的每一个应用程序,在安装的过程里,都得事先在 Android 框架中注册、登记这个应用程序所建立的 Activity,并事先注明会使用到的服务。

      

8、Android的字体

1)字体风格Typeface的种类

int Style类型 Typeface类型

BOLD:粗体 DEFAULT:默认字体

BOLD_ITALIC:粗斜体      DEFAULT_BOLD:默认粗体

ITALIC:斜体       MONOSPACE:单间隔字体

NORMAL:普通字体   SANS_SERIF:无衬线字体

       SERIF:衬线字体

2)设置字体

       ①、Typeface.create(Typeface family, int style):创建一个混合型新的字体。

       ②、Typeface.setTypeface(Typeface tf, int style):设置一个混合型字体。

       ③、Typeface.setTypeface(Typeface tf):设置一个只有Typeface风格的字体。

9、在代码中更改TextView文字的颜色

1)在代码中由ID获取TextView

TextView text =(TextView)findViewById(R.id.TextViewID);

//该TextViewID是在main.xml中定义TextView时设置的。

2)获取Resources 对象

Resources myColor_R=getBaseContext().getResources();

//getBaseContext()获得基础Context

//getResources()从Context获取资源实例对象

3)获取Drawable对象

Drawable myColor_D=myColor_R.getDrawable(R.color.white);

//R.color.white是在strings.xml中定义的一个color值如下:

//<color name=”white”>#FFFFFF</color>

4)设置文本背景颜色

text.setBackgroundDrawable(myColor_D);

5)利用android.graphics.Color 的颜色静态变量来改变文本颜色

text.setTextColor(android.graphics.Color.RED);

//text.setTextColor(Color.RED) ;

10、取得手机屏幕大小

//使用DisplayMetrics类取得手机画面的宽高。

DisplayMetrics displayMetrics = new DisplayMetrics() ;

//DisplayMetrics是一个描述普通显示信息的结构,如显示大小、密度、字体尺寸等。

getWindowManager().getDefaultDisplay().getMetrics(displayMetrics) ;

//getWindowManager():获取显示定制窗口的管理器

//getDefaultDiaplay():获取默认显示Display对象

//getMerics(DisplayMetrics dm):通过Display对象的数据来初始化一个

//DisplayMetrics对象。              

int widthPix = displayMetrics.widthPixels ;

int heightPix = displayMetrics.heightPixels ;

11、标题、状态栏的隐藏

1)隐藏标题

requestWindowFeature(Window.FEATURE_NO_TITLE) ;

2)隐藏状态栏(全屏效果)

//隐藏标题

requestWindowFeature(Window.FEATURE_NO_TITLE) ;

//定义全屏参数

int flag = WindowManager.LayoutParams.FLAG_FULLSCREEN ;

//获取窗口对象

Window myWindow = this.getWindow() ;

//设置flag标识

myWindow.setFlags(flag, flag) ;

12、EditText

1)setOnKeyListener事件

(new EidText).setOnKeyListener(new OnKeyListener() {

       public boolean onKey(View v, int keyCode, KeyEvent event) {

       … …

              return false;

       }            

}) ;       

13、Button(包括各种button)

1)ImageButton

      ①、设置ImageButton的图标

imagebutton.setImageResource(int resId//R.drawable.imageName) ;

//设置背景图片

imagebutton. .setBackgroundResource(R.drawable.imageName);

      ②、setOnFocusChangeListener事件

imagebutton.setOnFocusChangeListener(new OnFocusChangeListener() {

       public void onFocusChange(View v, boolean hasFocus) {

      … …

       }            

}) ;

      ③、setOnClickListener事件

imagebutton.setOnClickListener(new OnClickListener() {

   public void onClick(View v) {

      … …

   }

}) ;

 

 

14、Toast

1)Toast的浮动小提示

android.widget.Toast.makeText(Context context, CharSequence text, int duration)

.show() ;

2)Toast显示一个ImageView

//新建一个Toast对象

Toast toast_showImageView = new Toast(this) ;

//创建新ImageView对象

ImageView imageView = new ImageView(this) ;             

//从资源中获取图片,设置ImageView的背景图

imageView.setImageResource(R.drawable.imageName) ;

//(设置ImageView的背景图)或

imageView.setImageDrawable(getResources().getDrawable(R.drawable.imageName)) ;

//设置Toast上的View--(ImageView)

toast_showImageView.setView(imageView) ;            

//设置Toast显示时间

toast_showImageView.setDuration(Toast.LENGTH_LONG) ;           

//显示Toast

toast_showImageView.show() ;

3)Toast显示一个Button

//使用Toast显示一个Button

Toast toast_button = new Toast(this) ;

//创建一个Button

Button button_toast = new Button(this) ;

button_toast.setText("OK") ;

//设置Toast上的View--(Button)

toast_button.setView(button_toast) ;

//设置Toast的显示时间

toast_button.setDuration(Toast.LENGTH_SHORT) ;

//显示Toast

toast_button.show() ;

15、AlertDialog.Builder提示对话框

//新建一个AlertDialog.Builder对象

AlertDialog.Builder aDiaBuilder = new AlertDialog.Builder(this) ;

//设置标题

aDiaBuilder.setTitle("一个AlertDialog.Builer对话框") ;

//设置显示消息

aDiaBuilder.setMessage("AlertDialog Builder提示消息对话框") ;

//显示该AlertDialog.Builder对象

aDiaBuilder.show() ;

16、CheckBox

CheckBox checkBox = new CheckBox(this) ;

//设置chckBox的标题

checkBox.setHint(CharSequence title) ;

//设置该CheckBox是否为被选中

checkBox.setChecked(boolean checked) ;

//判断CheckBox是否已经被选中

boolean checkBox.isChecked() ;

//CheckBox事件监听器

checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

  public void onCheckedChanged(CompoundButton buttonview, boolean isChecked)

  { … … }

}) ;

17、RadioButton

//新建一个RadioGroup

RadioGroup radioGroup = new RadioGroup(this) ;

//新建一个RadioButton

RadioButton radio_01 = new RadioButton(this) ;

//设置RadioButton的标题

radioButton.setText("RadioButton name") ;

//将RadioButton添加到RadioGroup中

radioGroud.addView(radioButton) ;

//添加RadioGroup事件监听器

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {

       public void onCheckedChanged(RadioGroup group, int checkedId) {

          … …

       }

}) ;

18、Spinner(下拉菜单)

private Spinner spinner ;

spinner = (Spinner)findViewById(R.id.spinnerID) ;

//下拉菜单需要显示菜单项信息

private static final String[] itemInfo = {"…", "…"} ;

private ArrayAdapter<String> adapter ;

//动画效果

private Animation anim ;

//取得取得Animation,自定义在res/anim目录(自定义的)下

anim = AnimationUtils.loadAnimation(this, R.anim.my_anim) ;

//给下拉菜单添加动画

//将Spinner 运行Animation

spinner.startAnimation(anim) ;

//初始化下拉菜单内容适配器

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,

itemInfo) ;

//给下拉菜单内容设置样式

//myspinner_dropdown为自定义下拉菜单,样式定义在res/layout目录下

adapter.setDropDownViewResource(R.layout.myspinner_dropdown) ;

//给下拉菜单设置内容适配器

//将ArrayAdapter添加到Spinner

spinner.setAdapter(adapter) ;

//下拉菜单弹出的内容选项被选中事件处理

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {

        … …

arg0.setVisibility(View.VISIBLE) ;

}

public void onNothingSelected(AdapterView<?> arg0) {

… … 

}       

}) ;

//下拉菜单弹出的内容选项,触屏事件处理

spinner.setOnTouchListener(new OnTouchListener() {

       public boolean onTouch(View v, MotionEvent event) {

              // 将Spinner 运行Animation

       v.startAnimation(anim);

       //将mySpinner 隐藏

       v.setVisibility(View.INVISIBLE);

              return false;

       }    

}) ;

//下拉菜单弹出的内容选项,焦点改变事件处理

spinner.setOnFocusChangeListener(new OnFocusChangeListener() {

       public void onFocusChange(View v, boolean hasFocus) {

              … …

       }            

}) ;

 

//①、定义创建一个List<T>,用于存放菜单项字符串

private String[] itemInfo ;

private List<String> itemList ;

//初始化字符串数组

itemInfo = new String[] { "…", "…"} ;

//初始化List实例ArrayList的对象

itemList = new ArrayList<String>() ;

//遍历,把字符串数组添加到ArrayList中

for(int i=0; i<itemInfo.lenght; i++) {

   itemList.add(itemInfo[i]) ;

}

//②、定义创建一个ArrayAdapter<String>

private ArrayAdapter<String> adapter ;

//这里应该使用List<> ,如果使用String[]则会出错

//初始化下拉菜单的内容适配器

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,

itemList) ;

//③、设置ArrayAdapter<String>在下拉菜单中的显示布局

//设置下拉菜单显示内容的风格

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) ;

//④、给下拉菜单添加内容Adapter适配器

//给下拉菜单对象添加内容适配器

spinner.setAdapter(adpater) ;

 

19、AutoCompleteTextView(自动提示输入框)

AutoCompleteTextView autoText = new AutocompleteTextView(this) ;

// nomalStr用于存储提示的内容

String[] nomalStr = new Stirng[] {“…”, “…”, “…”} ;

adapter = new ArrayAdapter<String>(this,

android.R.layout.simple_dropdown_item_1line, nomalStr) ;

//给自动完成输入框添加内容适配器

autoText.setAdapter(adapter) ;

 

// 问题:该自动提示输入框要输入两个及以上字符才会提示,而一个字符则不会提示

 

20、MultiAutocompleTextView

MultiAutoCompleteTextView multiAutoText = new MultiAutoCompleteTextView(this) ;

// nomalStr用于存储提示的内容

String[] nomalStr = new Stirng[] {“…”, “…”, “…”} ;

adapter = new ArrayAdapter<String>(this,

android.R.layout.simple_dropdown_item_1line, nomalStr) ;

//添加内容适配器

multiAutoText.setAdapter(adapter) ;

//设置Tokenizer来确定用户输入文本的相关范围

multiAutoText.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()) ;

 

21、AnalogClock、DigitalClock与线程时钟

1)AnalogClock与DigitalClock

AnalogClock(模拟时钟)与DigitalClock(数字时钟)都可以通过在main.xml中设置实现。

2)线程时钟

①、线程时钟则需要线程Thread、Handler(发送、处理消息)辅助实现。

private TextView view_threadClock ;  //用于显示线程时间

private final int msg_Key = 0x1234;// 发送的消息内容     

public Handler myHandler;// 发送、处理消息的类

public Calendar myCalendar;// 日历类

// 时、分、秒

private int hour ;

private int minute ;

private int second ;

// 处理时间的线程

private Thread thread ;

②、Thread实现部分

/* 实现一个Runable接口,实例化一个进程对象,用来持续取得系统时间*/

public void run() {

       // TODO Auto-generated method stub

       try {

              do {

                     long time = System.currentTimeMillis() ;

                     myCalendar = Calendar.getInstance() ;

                     myCalendar.setTimeInMillis(time) ;

                     hour = myCalendar.get(Calendar.HOUR) ;

                     minute = myCalendar.get(Calendar.MINUTE) ;

                     second = myCalendar.get(Calendar.SECOND) ;

                     //进程休息1秒

                     Thread.sleep(1000) ;

                     Message msg = new Message() ;

                     msg.what = msg_Key ;

                     myHandler.sendMessage(msg) ;                        

              } while(thread.isInterrupted()==false) ;

       } catch(Exception ie) {

              ie.printStackTrace() ;

       }

}

③、Handler应用

myHandler = new Handler() {

   public void handleMessage(Message msg) {

           super.handleMessage(msg) ;

           switch(msg.what) {

            case msg_Key :

            {

                  /* 在这处理要TextView对象Show时间的事件*/

                  if(second<10) {

                      view_threadClock.setText(hour + ":" + minute + ":0" + second);

                  } else {

                          view_threadClock.setText(hour + ":" + minute + ":" + second);

                  }

          break ;

            }

           default :

                  break ;

           }

   } // end switch(msg.what)

};       

 

 

④、启动应用

/* 通过进程来持续取得系统时间*/

thread = new Thread(this) ;

thread.start() ;

 

22、DatePicker

DatePicker datePicker = new DatePicker(this) ;

/*为日历设置器添加点击事件监听器,处理设置日期事件*/

dataPicker.init(int year, int month, int day, new OnDateChangedListener() {

       public void onDateChanged(DatePicker view, int yearCh,

                    int monthOfYear, int dayOfMonth) {

       … …

       }               

}) ;

 

23、TimePicker

TimePicker timePicker = new TimePicker(this) ;

/* 为时间设置器添加点击事件监听器,处理设置时间事件 */

timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {

       public void onTimeChanged(TimePicker view, int hourOfDay, int minuteCh) {

              … …

       }

}) ;

/* 设置24小时制 */

timePicker.setIs24HourView(boolean is24HourView) ;

 

24、DatePickerDialog(设置日期对话框)

/* 构造一个DatePickerDialog对象,

* 第一个参数为Context、

* 第二参数为日期修改事件处理监听器、

* 后面为初始化的年月日 */

DatePickerDialog datePickerDialog = new DatePickerDialog(Context context,       

OnDateSetListener dateSetListener,                                        

int year, int month, int day) ;

/* 显示日期设置对话框 */

datePickerDialog.show() ;

/* 日期设置监听器 */

OnDateSetListener dateSetListener = new OnDateSetListener() {

public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {             .. …

}           

} ;

 

 

25、TimePickerDialog(设置时间对话框)

/* 构造一个TimePickerDialog对象,第一个参数为Context、

* 第二个参数为时间修改事件监听器、后面两个为初始化时间,

* 最后一个boolean类型设置是否为24小时制 */

TimePickerDialog timePickerDialog = new TimePickerDialog(Context context, OnTimeSetListener timeSetListener,

int hour, int minute, boolean is24HourView) ;

/* 显示时间设置对话框 */                   

timePickerDialog.show() ;

/* 时间设置监听器 */

OnTimeSetListener timeSetListener = new OnTimeSetListener() {

       public void onTimeSet(TimePicker view, int hourOfDay, int minuteCh) {

              … …

       }

} ;

 

26、文件的操作

1)读文件

①、Context.openFileInput(String name)打开一个与应用程序联系的私有文件输入流。

②、当文件不存在时抛出FileNotFoundException异常。

FileInputStream in = this.openFileInput("test.txt"); //打开文件"test.txt"

……

in.close(); //关闭输入流

 

2)读取静态文件

①、要打开打包在应用程序中的静态文件,使用Resources.openRawResource(R.raw.myFile)

②、该文件必须放在文件夹res/raw/中。 

//获得Context资源

InputStream in = this.getResources().openRawResource(R.raw.myFile);

… …

in.close();//关闭输入流

 

3)写文件

①、Context.openFileOutput(String name, int mode)开启一个与应用程序联系的私有文件输出流。

②、当文件不存在时该文件将被创建。

③、文件输出流可以在添加模式中打开,这意味新的数据将被添加到文件的末尾。 

// 打开文件"test.txt"进行写操作、使用MODE_APPEND在添加模式中打开文件

FileOutputStream out = this.openFileOutput("test.txt", MODE_APPEND) ;  

……

out.close(); // 关闭输出流

 

 

 

4) dimens.xml

用来定义尺寸数据,在 Activity 中使用 getResources().getDimension(resourceId)

取得这些资源

 <?xml version="1.0" encoding="UTF-8"?>

<resources>

<dimen name="height">80dip</dimen>

</resources>

 5) styles.xml

定义样式。

1.        <?xml version="1.0" encoding="utf-8"?>

2.        <resources>

3.        <style name="sharpText">

4.        <item name="android:textSize">18px</item>

5.        <item name="android:textColor">#008</item>

6.        </style>

7.        </resources>

 

1)      R.resource_type.resource_name

Eg.R.drawable.icon

2) android.R.resource_type.resource_name

Android 系统本身自带了很多的资源,我们也可以进行引用,只是需要在前面加上 “android.”以声明该资源来自 Android 系统。

2. 在 XML 文件中引用资源的语法如下:

1) @[package:]type/name

“@id/button

2) 如果访问的是 Android 系统中带的文件,则要添上包名“android:”。如 android:textColor="@android:color/red"

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值