写了一个对自己很实用的安卓软件
2014-05-19 23:39
274 查看
这个软件的功能是快速打电话和快速发短信。或许你会觉得这个软件太鸡肋,但对于我这种常联系的人很少的陈戌源来说,这个软件还是蛮有用的。这基本算是我开发的第一个“能用”的安卓程序,主要目的只是为了让自己大概了解安卓开发的流程,为接下来的学习做铺垫,所以软件做得还是比较挫的,大家看过笑笑就好……
首先:三个activity:
三个布局文件:
两个按钮按下改变的xml代码:
最后是mainfirst.xml:
首先:三个activity:
package com.example.fastcall; import com.example.fastcall.util.SystemUiHider; import android.R.layout; import android.annotation.TargetApi; import android.app.Activity; import android.app.ActivityManager; import android.content.Context; import android.content.Intent; import android.drm.DrmStore.Action; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnTouchListener; import android.widget.Button; import android.widget.ImageView; public class FullscreenActivity extends Activity implements OnTouchListener { private static final boolean AUTO_HIDE = true; private static final int AUTO_HIDE_DELAY_MILLIS = 3000; private static final boolean TOGGLE_ON_CLICK = true; private static final int HIDER_FLAGS = SystemUiHider.FLAG_HIDE_NAVIGATION; private SystemUiHider mSystemUiHider; private Button button_exit; private Button button_chenmo; private Button button_father; private Button button_lijie; private Button button_ganweiqi; private Button button_litie; private Button button_wuhonghua; private Button button_xiasu; private Button button_1008611; private Button button_zhukunling; private ImageView image; private int downx,downy,upx,upy; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_fullscreen); final View controlsView = findViewById(R.id.fullscreen_content_controls); //final View contentView = findViewById(R.id.fullscreen_content); button_exit = (Button) findViewById(R.id.dummy_button); button_chenmo = (Button) findViewById(R.id.button_chenmo); button_father = (Button) findViewById(R.id.button_father); button_lijie = (Button) findViewById(R.id.button_lijie); button_ganweiqi = (Button) findViewById(R.id.button_ganweiqi); button_litie = (Button) findViewById(R.id.button_litie); button_wuhonghua = (Button) findViewById(R.id.button_wuhonghua); button_1008611 = (Button) findViewById(R.id.button_1008611); button_xiasu = (Button) findViewById(R.id.button_xiasu); button_zhukunling = (Button) findViewById(R.id.button_zhukunling); image=(ImageView)findViewById(R.id.image); image.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub switch(event.getAction()){ case MotionEvent.ACTION_DOWN: downx=(int)event.getX(); break; case MotionEvent.ACTION_MOVE: upx=(int)event.getX(); if(downx-upx>100){ //finish(); Intent intent = new Intent(); //intent.putExtra("testIntent", "123"); intent.setClass(FullscreenActivity.this, activity2.class); startActivity(intent); FullscreenActivity.this.finish(); break;} } return true; } }); button_exit.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub ActivityManager activitymanager=(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); activitymanager.restartPackage(getPackageName()); android.os.Process.killProcess(android.os.Process.myPid()); //FullscreenActivity.this.finish(); } }); button_chenmo.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent cal = new Intent(); cal.setAction(Intent.ACTION_CALL); cal.setData(Uri.parse("tel:18271682152")); startActivity(cal); } }); button_father.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent cal = new Intent(); cal.setAction(Intent.ACTION_CALL); cal.setData(Uri.parse("tel:13986615436")); startActivity(cal); } }); button_lijie.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent cal = new Intent(); cal.setAction(Intent.ACTION_CALL); cal.setData(Uri.parse("tel:13135929759")); startActivity(cal); } }); button_ganweiqi.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent cal = new Intent(); cal.setAction(Intent.ACTION_CALL); cal.setData(Uri.parse("tel:18682303058")); startActivity(cal); } }); button_litie.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent cal = new Intent(); cal.setAction(Intent.ACTION_CALL); cal.setData(Uri.parse("tel:18271683092")); startActivity(cal); } }); button_wuhonghua.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent cal = new Intent(); cal.setAction(Intent.ACTION_CALL); cal.setData(Uri.parse("tel:15172050762")); startActivity(cal); } }); button_zhukunling.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent cal = new Intent(); cal.setAction(Intent.ACTION_CALL); cal.setData(Uri.parse("tel:18271652311")); startActivity(cal); } }); button_xiasu.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent cal = new Intent(); cal.setAction(Intent.ACTION_CALL); cal.setData(Uri.parse("tel:15374537418")); startActivity(cal); } }); button_1008611.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent cal = new Intent(); cal.setAction(Intent.ACTION_CALL); cal.setData(Uri.parse("tel:1008611")); startActivity(cal); } }); } @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub return true; } }
package com.example.fastcall; import android.R.layout; import android.annotation.TargetApi; import android.app.Activity; import android.app.ActivityManager; import android.content.Context; import android.content.Intent; import android.drm.DrmStore.Action; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnTouchListener; import android.widget.Button; import android.widget.ImageView; public class activity2 extends Activity { private ImageView image2; private Button button_chenmo,button_father,button_feiji; private Button exit_button; private int downx,upx; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity2_out); image2=(ImageView)findViewById(R.id.image2); exit_button=(Button)findViewById(R.id.exit_button); button_chenmo=(Button)findViewById(R.id.button_chenmo); button_father=(Button)findViewById(R.id.button_father); button_feiji=(Button)findViewById(R.id.button_feiji); button_chenmo.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent=new Intent(); intent.putExtra("messagenum", "18271682152"); intent.setClass(activity2.this, activity3.class); activity2.this.startActivity(intent); } }); button_father.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent=new Intent(); intent.putExtra("messagenum", "13986615436"); intent.setClass(activity2.this, activity3.class); activity2.this.startActivity(intent); } }); button_feiji.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent=new Intent(); intent.putExtra("messagenum", "15172365787"); intent.setClass(activity2.this, activity3.class); activity2.this.startActivity(intent); } }); image2.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub switch(event.getAction()){ case MotionEvent.ACTION_DOWN: downx=(int)event.getX(); break; case MotionEvent.ACTION_MOVE: upx=(int)event.getX(); if(downx-upx<-100){ //finish(); Intent intent = new Intent(); intent.putExtra("testIntent", "123"); intent.setClass(activity2.this, FullscreenActivity.class); intent.setFlags(intent.FLAG_ACTIVITY_CLEAR_TOP); activity2.this.startActivity(intent); overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right); activity2.this.finish(); break;} } return true; } }); exit_button.setOnClickListener(new OnClickListener() { @SuppressWarnings("deprecation") @Override public void onClick(View v) { // TODO Auto-generated method stub ActivityManager activitymanager=(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); activitymanager.restartPackage(getPackageName()); android.os.Process.killProcess(android.os.Process.myPid()); finish(); } }); } }
package com.example.fastcall; import android.R.layout; import android.annotation.TargetApi; import android.app.Activity; import android.app.ActivityManager; import android.content.Context; import android.content.Intent; import android.drm.DrmStore.Action; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.text.Editable; import android.text.GetChars; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnTouchListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; public class activity3 extends Activity{ private Button button_send; private EditText edit_text; public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity3); Intent recive=getIntent(); final String num=recive.getStringExtra("messagenum"); edit_text=(EditText)findViewById(R.id.edit); button_send=(Button)findViewById(R.id.button_send); button_send.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent=new Intent(); intent.setAction(Intent.ACTION_SENDTO); intent.setData(Uri.parse("smsto:"+num)); intent.putExtra("sms_body", edit_text.getText().toString()); startActivity(intent); } }); } }
三个布局文件:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/back3" android:orientation="vertical" android:visibility="visible" > <Button android:id="@+id/button_del" android:layout_width="1dp" android:layout_height="80dp" android:text="" /> <Button android:id="@+id/button_chenmo" android:layout_width="match_parent" android:layout_height="40dp" android:background="@drawable/button_press" android:text="Call:陈沫" android:textColor="#CB4B04" /> <Button android:id="@+id/button_father" android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginTop="10dp" android:background="@drawable/button_press" android:text="Call:爸爸" android:textColor="#CB4B04" /> <Button android:id="@+id/button_lijie" android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginTop="10dp" android:background="@drawable/button_press" android:text="Call:李杰" android:textColor="#CB4B04" /> <Button android:id="@+id/button_litie" android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginTop="10dp" android:background="@drawable/button_press" android:text="Call:李贴" android:textColor="#CB4B04" /> <Button android:id="@+id/button_ganweiqi" android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginTop="10dp" android:background="@drawable/button_press" android:text="Call:甘伟奇" android:textColor="#CB4B04" /> <Button android:id="@+id/button_xiasu" android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginTop="10dp" android:background="@drawable/button_press" android:text="Call:夏肃" android:textColor="#CB4B04" /> <Button android:id="@+id/button_wuhonghua" android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginTop="10dp" android:background="@drawable/button_press" android:text="Call:伍红华" android:textColor="#CB4B04" /> <Button android:id="@+id/button_zhukunling" android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginTop="10dp" android:background="@drawable/button_press" android:text="Call:朱坤林" android:textColor="#CB4B04" /> <Button android:id="@+id/button_1008611" android:layout_width="match_parent" android:layout_height="40dp" android:layout_marginTop="10dp" android:background="@drawable/button_press" android:text="Call:1008611" android:textColor="#CB4B04" /> <ImageView android:id="@+id/image" android:layout_width="match_parent" android:layout_height="50dp" android:background="@drawable/zuohua" android:text="" /> <LinearLayout android:id="@+id/fullscreen_content_controls" style="?buttonBarStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom|center_horizontal" android:background="@color/black_btn" android:orientation="horizontal" > <Button android:id="@+id/dummy_button" style="?buttonBarButtonStyle" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/dummy_button" /> </LinearLayout> </LinearLayout> </FrameLayout>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/haimianbaobao" android:orientation="vertical" > <Button android:id="@+id/button_chenmo" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_marginTop="140dp" android:background="@drawable/mbutton_press" android:textColor="#CB4B04" android:text="Message:陈沫" /> <Button android:id="@+id/button_father" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_marginTop="10dp" android:background="@drawable/mbutton_press" android:textColor="#CB4B04" android:text="Message:爸爸" /> <Button android:id="@+id/button_feiji" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_marginTop="10dp" android:background="@drawable/mbutton_press" android:textColor="#CB4B04" android:text="Message:飞机" /> <ImageView android:id="@+id/image2" android:layout_width="match_parent" android:layout_height="50dp" android:layout_marginTop="240dp" android:background="@drawable/youhua" android:text="" /> <LinearLayout android:id="@+id/fullscreen_content_controls" style="?buttonBarStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom|center_horizontal" android:background="@color/black_btn" android:orientation="horizontal" > <Button android:id="@+id/exit_button" style="?buttonBarButtonStyle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="left" android:layout_weight="1" android:text="@string/dummy_button" /> </LinearLayout> </LinearLayout>
<?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" android:background="@drawable/xiaohuangren1" android:orientation="vertical" > <EditText android:id="@+id/edit" android:layout_width="fill_parent" android:layout_height="200dp" android:layout_alignParentLeft="true" android:background="@drawable/biankuan" android:gravity="top" android:text="" android:textColor="#000000" android:layout_below="@+id/textview" > </EditText> <Button android:id="@+id/button_send" android:layout_below="@+id/edit" android:layout_width="fill_parent" android:layout_height="50dp" android:layout_marginTop="20dp" android:background="@drawable/send" android:textColor="#CB4B04" android:text="发送" /> <TextView android:id="@+id/textview" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="80dp" android:gravity="center" android:textColor="#CB4B04" android:text="编辑信息:" /> </RelativeLayout>
两个按钮按下改变的xml代码:
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/bt" android:state_pressed="false"/> <item android:drawable="@drawable/bt_press" android:state_pressed="true"/> </selector>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/message_nomal" android:state_pressed="false"/> <item android:drawable="@drawable/message_press" android:state_pressed="true"/> </selector>
最后是mainfirst.xml:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.fastcall" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.fastcall.FullscreenActivity" android:launchMode="singleTop" android:configChanges="orientation|keyboardHidden|screenSize" android:label="@string/app_name" android:theme="@style/FullscreenTheme" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="activity2" android:theme="@style/FullscreenTheme" > </activity> <activity android:name="activity3" android:theme="@style/FullscreenTheme" > </activity> </application> <uses-permission android:name="android.permission.CALL_PHONE" ></uses-permission> <uses-permission android:name="android.permission.RESTART_PACKAGES"> </uses-permission> </manifest>
相关文章推荐
- 自己写一个安卓手机软件计算煮饭时间
- 不错的文本整理软件,本来想自己写一个,不过林子大了,不用写了
- 我们期待自己成为一个优秀的软件模型设计者(转载)
- [导入](转贴)我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢?
- 自己写的一个电话本小软件(2004年)
- 发布一个自己做的资料收藏夹软件(可语法着色)
- 自己开发了一个SmartPhone用的手机归属地软件SmartPhone
- 为什么我们做一个软件项目,就要折腾个一年半载的,客户被折磨得死去活来,我们自己也被折磨得死去活来
- 收集几篇软件测试职业规划的文章,算是给自己一个灯塔
- (转贴)我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢?
- 庆贺自己的软件入围中国软件创新大赛,可惜精英奖没有评上。一个笔记本飞了,哈哈,大奖500万呢!
- 误删别人的文件,备份软件很重要,自己想写一个
- 如何把自己做好的系统做成一个安装软件
- 一个自己写的真正判断文件格式,文件大小,而并不仅仅从扩展名来进行判断的上传方法,进一步加强防止软件或恶意的木马图片上传
- 我们期待自己成为一个优秀的软件模型设计者
- 我待的软件部门要从公司独立出去成立一个新的软件公司,主要是为了享受软件公司的低税收的优惠政策,这对我来说就意味着更多的机会和困难,我是能抓住机会还是被困难打倒完全取决于自己以后的努力。
- 转]一个学IT人看到日美软件后感到震撼,深深感受到了差距,这个差距真的要用50年来做比较(认识自己才能发展)
- 我们期待自己成为一个优秀的软件模型设计者
- 发现自己编的软件的一个巨大缺陷
- 自己写了一个war3窗口模式限定鼠标软件