- 浏览: 115297 次
- 性别:
- 来自: 厦门
最新评论
-
人可德福:
非常感谢附上源码包的楼主
实例16--心理测试 -
一口三个汉堡:
ljt122000 写道呵呵....看来大多数搞程序的被切图弄 ...
移动开发那点事-抱怨的移动开发程序员 -
ljt122000:
呵呵....看来大多数搞程序的被切图弄得有点郁闷啊...不管是 ...
移动开发那点事-抱怨的移动开发程序员 -
一口三个汉堡:
半夜透凉清 写道追求自己想要的生活,我是该羡慕你不断的走,跑, ...
今天看了自己博客的电子书,眼泪一直掉!感谢ITeye伴我成长! -
xdwangiflytek:
楼主发现自己的成长才是最可贵的
今天看了自己博客的电子书,眼泪一直掉!感谢ITeye伴我成长!
隔了两个月,又重新开始将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
- Demon_16.zip (61.4 KB)
- 下载次数: 27
- Demon_16.zip (19.7 KB)
- 下载次数: 2
发表评论
-
android-单独开启闪光灯方法--适用于moto手机
2011-10-14 10:11 6949代码来自于http://code.google.com/p/s ... -
android线性布局布局的layout_weight
2011-10-08 16:23 1681对于LinearLayout的layout_weight属性, ... -
android-xml文件解析教程
2011-09-21 00:32 2106在讨论群里里面有人在问xml的解析方法,我就弄了个简单的d ... -
实例17--无敌抢钱鸡
2011-09-03 21:32 1053随着转化的进行,难度也在增加,这次的实例我弄了一天,当然有 ... -
实例-15---猜数字
2011-06-23 23:48 1375经典游戏,猜数字。各种不解释,因为最近发生了一些事情,所以 ... -
实例14---不准+弱智的生物钟
2011-06-19 12:06 1172这个例子在java me主要是演示form的使用,在and ... -
实例13---点击速度测试机
2011-06-18 00:15 1071在原java me中通过这个例子是想要讲解RecordSt ... -
实例12--会动的地图
2011-06-16 23:00 1274前面已经出了一个展示地图的例子,这个例子主要运用了将地图的 ... -
实例11--播放按键声音
2011-06-13 11:35 7285实例11播放按键声音,在java me中有playTone ... -
实例10--不搭的跳舞机
2011-06-10 23:32 1753还是要重申一遍,因为只是转化,所以原j2me的问题,我不会 ... -
android的Sprite,TiledLayer,LayerManager
2011-06-08 10:42 3343因为android没有提供这些,而我要把j2me的一本游戏 ... -
实例9---我的地图
2011-06-08 10:18 1132实例9,在j2me中是使用了图层管理和地图图层,在andr ... -
实例8--《很幼稚的‘小’鸡快跑》
2011-06-04 22:08 1401实例8--《小鸡快跑》,原书用的是java me 提供的s ... -
实例7---android 版Sprite代码
2011-06-03 23:38 2996因为android 没有提供sp ... -
实例6--文字滚屏
2011-06-02 23:59 1112这个实例的本意展示j2me的字体,和滚屏的实现。我只实现了 ... -
实例5--自动换行(修订版)
2011-06-02 00:13 2102这个实例主要是运用字体的只是,但是android自带就几种 ... -
实例4---拼单词游戏
2011-06-01 00:02 1396这个第四个实例,我只是单纯的把j2me的代码换成andro ... -
实例3--使用surfaceView
2011-05-30 19:55 1370在那本书用的是GameCanvas,我就用surfaceVi ... -
实例2---获得按键值
2011-05-29 00:08 1170《手机游戏50例》第二个实例为将按键值显示在屏幕上,下面给出M ... -
《java手机游戏50例》转成android版。。--游戏View框架代码
2011-05-28 20:48 3607这学期我们班教j2me游戏开发,教材是《java游戏50例 ...
相关推荐
标题中的“行业分类-设备装置-一种心理学教学用和心理测试实验装置”表明这是一个与心理学教育和测试设备相关的文档集合。这种装置可能被设计用于心理学课堂教育,帮助学生理解和实践心理测试过程,同时也可能用于...
利用数学建模心理测试研究的实例
心理测试系统(源码)是基于ASP(Active Server Pages)技术构建的一个在线应用,用于进行心理测试和评估。ASP是一种由微软开发的服务器端脚本环境,它允许开发者使用VBScript或其他兼容的语言来创建动态网页。这个...
《心理测试 for leadbbs3.14:一个经典的论坛插件分析》 "心理测试for leadbbs3.14"是一个专为leadbbs3.14论坛系统设计的经典插件,它通过一系列html页面,为用户提供了有趣且具有教育意义的心理测试功能。这个插件...
心理测试程序.zip是一个包含了...综上所述,心理测试程序.zip是一个全面展示微信小程序开发技术的实例,涵盖了页面设计、事件处理、数据管理、路由跳转等多个方面,对于学习和实践微信小程序开发具有很好的参考价值。
下面,我们将详细探讨这款应用涉及的主要技术点和心理测试的实现方式。 首先,Android应用的基本架构包括UI界面、业务逻辑和数据管理三个部分。UI界面是用户与应用交互的窗口,通常由布局文件(XML)定义,使用Java...
【标题】:“心理测试网站”项目 【描述】:这个项目是一个基于Java技术栈的心理测试网站,使用了Tomcat作为应用服务器,实现了Serverlet技术来处理客户端请求。它旨在为用户提供一个在线平台,进行各种心理测试,...
- **实例介绍**:选择一个具体的心理测试研究案例。 - **数据处理**:包括数据收集、清洗和预处理等步骤。 - **模型建立与验证**:从描述性统计分析到最终模型的建立和验证过程。 #### 九、结论与展望 - **总结**...
通过不断学习和应用认识论与认知心理学的知识,测试员可以显著提高自己的测试水平,从而为产品的质量和用户体验做出更大贡献。最终,优秀的测试不仅体现在技术层面,更是一种深刻理解和应用科学方法的过程。
下面将详细探讨这些应用实例。 1. **教育资源获取**:教师可以通过ChatGPT寻找各种教学资源,如课程计划、教材、教学方法和实用工具。只需向ChatGPT询问相关主题,它就能提供大量的信息和建议,帮助教师构建和完善...
- 色彩理论:理解色彩心理学,选择能传达正确情绪和信息的颜色搭配。 - 字体排印:选择合适的字体,考虑字间距、行距,提升阅读体验。 - 图标设计:简洁、直观的图标能有效传达信息,提升用户界面的易用性。 ...
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户...
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户...