当前位置: 编程技术>移动开发
本页文章导读:
▪公布了啊 发布了啊。。。
......
▪ 范例16-心理测试 实例16--心理测试
隔了两个月,又重新开始将j2me转成android,7月8月,我先经过期末考,又到一家信息科技公司开发android手机客户端,或许是自己变懒了,所以就没有继续转,现在开学了,空.........
▪ 获取未装配的APK图标 获取未安装的APK图标
<div > 网上关于"获取未安装的apk图标"的文章满天飞,但都是转帖,运行后的效果却是获取到android的默认小机器人图标.那个暴寒....<br><br>见代码:<.........
[1]公布了啊
来源: 互联网 发布时间: 2014-02-18
发布了啊。。。
[2] 范例16-心理测试
来源: 互联网 发布时间: 2014-02-18
实例16--心理测试
隔了两个月,又重新开始将j2me转成android,7月8月,我先经过期末考,又到一家信息科技公司开发android手机客户端,或许是自己变懒了,所以就没有继续转,现在开学了,空余时间又开始多了,所以又开始了...两个月自己也成长了许多.
下面给出实例16--心理测试的主要代码,对于将j2me转成android,我有了新的看法,首先我要了解j2me的原理,并了解作者的思想,然后将这种思想在android中实现,而不单单是代码的转换.这次的例子我昨天晚上就要开始转,但一直在犹豫怎么转,最后我是将源代码仔细的看了一遍又一遍,然后用android自己写出来的,当然很多东西跟源代码是一样.
效果图:
Demon_16Activity.java
package com.wjh.demon_16;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;
public class Demon_16Activity extends Activity implements OnClickListener, OnCheckedChangeListener {
/** Called when the activity is first created. */
//type控制对话框的显示内容,
//0显示所有题目的标题,1显示被选题目的问句及选项,2显示测试结果
private static final int TEST_BUTTON_ID = 1;
private static final int EXIT_BUTTON_ID = 2;
private static final int RETURN_BUTTON_ID = 3;
private int type = 0;
//标题的控件
private LinearLayout titlesLLayout;
private RadioGroup titlesRGroup;
private TextView titlesTView;
//选项的控件
private LinearLayout optionsLayout;
private TextView optionsTView;
private RadioGroup optionRGroup;
//结果的显示控件
private TextView resultTView;
private ArrayList<TestItem> testItems; //存储所有的题目
private int titleItem = -1; //当前选择的题目
private int optionItem = -1; //当前选择的选项
private Button testButton; //测试指令
private Button exitButton; //退出指令
private Button returnButton; //返回按钮
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getView();
LoadText();
}
private void getView()
{
//获得标题的控件
titlesLLayout = (LinearLayout)findViewById(R.id.title_ll);
titlesRGroup = (RadioGroup)findViewById(R.id.title_rg);
titlesRGroup.setOnCheckedChangeListener(this);
titlesTView = (TextView)findViewById(R.id.title_tv);
titlesTView.setText("心理测试");
//获得选项的控件
optionsLayout = (LinearLayout)findViewById(R.id.options_ll);
optionsTView = (TextView)findViewById(R.id.options_tv);
//获得按钮
testButton = (Button)findViewById(R.id.test_bt);
testButton.setId(TEST_BUTTON_ID);
testButton.setOnClickListener(this);
exitButton =(Button)findViewById(R.id.exit_bt);
exitButton.setId(EXIT_BUTTON_ID);
exitButton.setOnClickListener(this);
returnButton= (Button)findViewById(R.id.return_bt);
returnButton.setId(RETURN_BUTTON_ID);
returnButton.setOnClickListener(this);
resultTView = (TextView)findViewById(R.id.result_tv);
}
private void LoadText(){
testItems = new ArrayList<TestItem>(); //题目容器
try{
byte b[] = new byte[10240]; //分配10K大小的缓存
InputStream is = getResources().openRawResource(R.raw.test);
int total = is.read(b); //一次性将数据全部读出
int start = 0;
int index = 0;
while( start < total )
{//当 start < total 时,表明还有尚未读取的题目
testItems.add(new TestItem(this)); //为新题目分配存储空间
start = testItems.get(index).Load( b, start, total ); //读取一个题目的全部信息
RadioButton rButton = new RadioButton(this);
rButton.setText(testItems.get(index).Title);
titlesRGroup.addView(rButton, LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); //保存题目的标题
index ++;
}
is.close();
}
catch (IOException e){ //输出错误信息
e.printStackTrace();
}
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch(arg0.getId())
{
case TEST_BUTTON_ID:
switch( type )
{
case 0: //当前对话框上显示所有标题
if( titleItem >= 0 )
{ //如果选择某个题目,则更换显示内容
if(optionsLayout!=null)
{
optionsLayout.removeView(optionRGroup);
}
optionRGroup = testItems.get(titleItem).choicegroup;
optionsLayout.addView(optionRGroup);
optionsTView.setText(testItems.get(titleItem).questionStr);
optionRGroup.setOnCheckedChangeListener(this);
titlesLLayout.setVisibility(View.GONE);
optionsLayout.setVisibility(View.VISIBLE);
type = 1;
}
break;
case 1: //当前对话框上显示问句和选项
int n = optionItem;
if( n >= 0 ){ //如果选择某个选项,则更换显示内容
resultTView.setText(testItems.get(titleItem).results[n]);
resultTView.setVisibility(View.VISIBLE);
optionsLayout.setVisibility(View.GONE);
type = 2;
testButton.setVisibility(View.GONE);
returnButton.setVisibility(View.VISIBLE);
}
break;
}
break;
case RETURN_BUTTON_ID:
resultTView.setVisibility(View.GONE);
titlesLLayout.setVisibility(View.VISIBLE);
returnButton.setVisibility(View.GONE);
testButton.setVisibility(View.VISIBLE);
type = 0;
break;
case EXIT_BUTTON_ID:
this.finish();
}
}
@Override
public void onCheckedChanged(RadioGroup arg0, int arg1) {
// TODO Auto-generated method stub
for(int i = 0;i<arg0.getChildCount();i++)
{
RadioButton btn = (RadioButton)arg0.getChildAt(i);
if(btn.isChecked())
{
if(arg0 == titlesRGroup)
{
titleItem = i;
}else if(arg0 == optionRGroup)
{
optionItem = i;
}
}
}
}
}
源码包:Demon_16.zip
apk文件(后缀改为apk):Demon_16.zip
[3] 获取未装配的APK图标
来源: 互联网 发布时间: 2014-02-18
获取未安装的APK图标
<div >
网上关于"获取未安装的apk图标"的文章满天飞,但都是转帖,运行后的效果却是获取到android的默认小机器人图标.那个暴寒....<br><br>见代码:<br>
<div id="aimg_16120_menu" ><div ><div >2011-3-1 13:29 上传
<div >
网上关于"获取未安装的apk图标"的文章满天飞,但都是转帖,运行后的效果却是获取到android的默认小机器人图标.那个暴寒....<br><br>见代码:<br>
<div id="aimg_16120_menu" ><div ><div >2011-3-1 13:29 上传
最新技术文章: