android 学习笔记 一

项目要增加tabmain Back退出提示,其他tabactivity按Back到tabmain 且不退出程序。
由于项目使用的是TabActivity.   onKeyDown被子Activity使用,TabActivity onKeyDown无效.改用dispatchKeyEvent.可以使用.但dispatchKeyEvent会先触发onKeyDown再触发onKeyUp

2个事件执行效果是相同的.
所以得让程序只触发onKeyDown

@Override
    public boolean dispatchKeyEvent(KeyEvent event) {
		//监听Back按键且状态不是弹起
            if(event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() != KeyEvent.ACTION_UP){

             if(tabHost.getCurrentTabTag()==TAB_HOME)
             {
            	 new AlertDialog.Builder(this)
		 		 .setTitle("系统提示")
		         .setMessage("是否退出?")
		         .setNegativeButton("取消", null)
		         .setPositiveButton("退出",
		         new DialogInterface.OnClickListener(){
	                    public void onClick(DialogInterface dialoginterface, int i){
	                    	System.exit(0);
                           }
                   }).show();
             }else{
            	group.check(R.id.tab_home);//因为tab按钮是Radio,所以直接触发check来切换tab页
             }                

            }
            return true;//不返回super.dispatchKeyEvent(event),你懂的....
    }

Android开发目录结构及各文件的作用

一、目录结构:

src目录—存放源代码文件

gen目录—ADT插件生成的文件,一般不作修改

assets目录—存放资源文件目录,不会在R.java中生成ID

res目录—存放资源文件目录,这里面的每个文件或值都会在R.java中生成一个ID(变量)

AndroidManifest.xml—整个应用程序配置文件(如权限配置,配置新的Activity等),储存一些 包名,版本号,程序图标,程序标签等

default.properties—检查版本文件,自动生成,不能修改(修改将被删除)。

 

二、重点目录及文件作用:

res/drawable-xxxx是存放图片的目录,每个图片需要准备三种分辨率版本.

drawable-hdpi—存放高分辨率版本

drawable-ldpi—存放中分辨率版本

drawable-mdpi—存放低分辨率版

res/layout目录—放置布局文件(xml文件),每个Activity对应一个XML文件

res/value目录–放置存储值的文件(xml)

R.java文件:drawable类—给图片生成的ID,layout类—给布局文件生成的ID,string类—给string.xml里面键值对生成的ID

 

main.xml文件 :控制Activity中控件的位置,每个Activity对应一个此布局文件

 

string.xml文件:存放键值对,一般用在程序的多语言版本切换(多个文件,键一样,值不同)

 

 

 

ecshop订单抽奖功能

日志

最近要写个ecshop订单抽奖功能.

首先确定下结构
     $jp=array(3,7,40,50);//概率数组

1.先处理min($jp).判断是否为小数.
如果min($jp)=0.3.则min($jp)处理为3
$s=  3/0.3=10
否则 $s= 1

2.将$jp所有成员*$s

3.对$jp数组进行处理.取得这些概率所包含的数值

$jp[0]1-3;
$jp[1] = 4-10 ;
$jp[2] = 11-50;
$jp
 [3] =51-100;

4.做随机数处理。rand(1,$x)//$x=有奖品%+无奖品%;

这样。rand随机出的数字再判断是否等于$jp内哪个成员.然后取其对应成员的相应的奖品信息.