关闭

Android手机安全卫士(一)---概述、启动、签名、主界面、自定义控件

536人阅读 评论(0) 收藏 举报
分类:

Android手机安全卫士(一)---概述、启动、签名、主界面、自定义控件

①代码的组织结构

按照模块组织代码的包结构、业务之间彼此独立。
办公软件
1、开会。                com.husheng.meeting
2、发放工资。         com.husheng.money
3、出差。           com.husheng.travel

按照代码的类型组织包结构;
1、界面。              com.husheng.mobilesafe.activies
2、自定义UI。                      com.husheng.mobilesafe.ui
3、业务逻辑代码。              com.husheng.mobilesafe.engine
4、持久化。                       com.husheng.mobilesafe.db
5、广播接收者。                  com.husheng.mobilesafe.receiver
6、长期在后台运行。           com.husheng.mobilesafe.service

7、公用的api工具类。          com.husheng.mobilesafe.utils


②启动界面

1、用来展现产品的Logo。
2、应用程序初始化的操作。
3、检查应用程序的版本。
4、检查当前应用程序是否合法注册。


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/ic_launcher"
    tools:context="com.husheng.mobilesafe.SplashActivity" >

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="124dp" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="81dp"
        android:text="初始化数据..."
        android:textColor="#6699ff"
        android:textSize="22sp" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:text="版本1.0"
        android:textColor="#808080" />

</RelativeLayout>




③应用程序签名

在我们的Android系统中,不许可安装两个相同的包的应用。
例如:
小米手机
A程序员 开发了一款A应用 com.husheng.A。
B 程序员 开发了一款B应用 com.husheng.A。

1.包名相同。
2.签名相同。
当包名相同的时候,如果签名相同,替换安装成功。如果签名不相同,安装失败。
如果你的签名丢了怎么办?

包名不变的情况下
1.改签名。
2.该包名 ,重新签名。





④主界面和自定义控件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="55dip"
        android:background="#8866ff00"
        android:gravity="center"
        android:text="功能列表"
        android:textColor="#ffffff"
        android:textSize="22sp" />
    
    <com.husheng.mobilesafe.ui.FocusedTextView
        android:singleLine="true"
        android:ellipsize="marquee"
        android:textSize="22sp"
        android:text="欢迎使用HUST手机卫士★欢迎使用HUST手机卫士★欢迎使用HUST手机卫士"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

<GridView
        android:id="@+id/list_home"

        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="30dip"
        android:numColumns="3"
        android:verticalSpacing="10dip" />

</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/iv_item"
        android:layout_width="60dip"
        android:layout_height="60dip"
        android:src="@drawable/app" />

    <TextView
        android:id="@+id/tv_item"
        android:textColor="#ffffff"
        android:textSize="16sp"
        android:text="手机防盗"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

public class HomeActivity extends Activity {
	
	private GridView list_home;
	private MyAdapter adapter;
	private static String [] names = {
		"手机防盗","通讯卫士","软件管理",
		"进程管理","流量统计","手机杀毒",
		"缓存清理","高级工具","设置中心"
		
	};
	
	private static int[] ids = {
		R.drawable.safe,R.drawable.callmsgsafe,R.drawable.app,
		R.drawable.taskmanager,R.drawable.netmanager,R.drawable.trojan,
		R.drawable.sysoptimize,R.drawable.atools,R.drawable.settings
		
	};
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_home);
		list_home = (GridView) findViewById(R.id.list_home);
		adapter = new MyAdapter();
		list_home.setAdapter(adapter);
		list_home.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				switch (position) {
				case 8://进入设置中心
					Intent intent = new Intent(HomeActivity.this,SettingActivity.class);
					startActivity(intent);
					
					break;

				default:
					break;
				}
				
			}
		});
	}
	
	
	private class MyAdapter extends BaseAdapter{

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return names.length;
		}
		
		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			// TODO Auto-generated method stub
			View view = View.inflate(HomeActivity.this, R.layout.list_item_home, null);
			ImageView iv_item = (ImageView) view.findViewById(R.id.iv_item);
			TextView tv_item = (TextView) view.findViewById(R.id.tv_item);
			
			tv_item.setText(names[position]);
			iv_item.setImageResource(ids[position]);
			return view;
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return null;
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return 0;
		}

	}

}






























0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:183373次
    • 积分:4203
    • 等级:
    • 排名:第7319名
    • 原创:229篇
    • 转载:65篇
    • 译文:2篇
    • 评论:57条
    博客专栏