当前位置:  编程技术>移动开发
本页文章导读:
    ▪纪念自己的第一个应用下线        纪念自己的第一个应用上线每日口语是我在android平台上开发的第一款算得上是产品的产品,陆陆续续做了两个月,今天终于制作完成,已经上传到了各大国内第三方市场(新版的可能要审核.........
    ▪ java判断字符串包孕某个字符段        java判断字符串包含某个字符段String str = "1234567"; if(str.indexOf("23") != -1) { System.out.println("包含该字符串"); } ......
    ▪ 进程间通信之信号量-使用信号实现生产者消费者有关问题       进程间通信之信号量--使用信号实现生产者消费者问题生产者消费者是数学中的一个经典的问题,也是编程中的一个经典问题。 本示例采用信号量来解决这个问题,其实,最终也就是进程之.........

[1]纪念自己的第一个应用下线
    来源: 互联网  发布时间: 2014-02-18
纪念自己的第一个应用上线

每日口语是我在android平台上开发的第一款算得上是产品的产品,陆陆续续做了两个月,今天终于制作完成,已经上传到了各大国内第三方市场(新版的可能要审核两三天)。

点我去下载

到应用市场,搜每日口语,图标有白云蓝天绿草的那个就是我的了。

虽说是第一款应用,但还是花了很大的心思,从素材的整理,到编程,到设计,每一步都花了很多的心思,最后的产品应该算是基本满意吧。

下面是一个开发的日记,算是一个纪念。



今天在eclipse新建了每日口语的项目。
国庆期间一定完成。
已经完成的工作:
icon设计,界面设计
剩余工作:


DB设计,语句整理
title栏,按钮栏,记事本


10.4
Db设计完成,基本布局完成,自定义title完成
数据库调试还是很麻烦。


还差:圆角图片,数据库调用,刷新按钮,记事本,语音识别


晚上
调试好数据库,语句和单词都能正常显示
继续要做的是:音频关联,语音识别,记事本,界面美化。
嘴巴好的已经差不多,但不能吃远的东西,如:包子,梨。


10.5
上午
修正了一下数据库,找了一下图片,且已经关联好。
嘴巴裂开了,艹


晚上
关联好了音频




识别校正:
1.ok;2.willing heart 无法识别; 3.ok,数据库有错误,漏掉了time4.ok;5ok6,ok;7,缩写 Iam 8ok 9无法识别 10.ok


10.10
今日完成:
1.图片显示;2.文字大小调整;3.描边效果;4记事本添加手势。


待完成:按钮安排,按钮美化


周末搞定第一个版本。


10.17
整理好初级口语15句,图片修改好。
创建了新的数据库。
单词插入t_words;
insert into t_words values('care for','关心')
insert into t_words values('can't','不能 ; 不得不 ; 禁不住 ; 不克不及');
insert into t_words values('win-win','双赢');
insert into t_words values('underestimate','vt. 低估;看轻');
修改 
update t_words set chinese='关心,喜欢' where english='care for'


资源文件must contain only [a-z0-9_.]  


完成choose页面的动画和逻辑。
晚上把主界面的按钮还有title修改一下 就 可以搞定了


晚上完成 主界面美化(还存在一些像素级的bug),无崩溃bug


对笔记本进行了修改。


选择页面和主界面都添加了menu,可以进入笔记本或是退出。


还需要修改的。
1)完全摒弃menu键2)notebook 添加listView的longclick事件3)初始化notebook的时候可能会崩溃


10.28
存在的bug:
1)主界面退出错误 2)notebook可以重复添加


10.31
1)修改了一下notebook界面
2)修改notebook重复删除及初始化bug
3)修改退出按键
4)兼容480*320设备
5)兼容480*800设备
6)修改滑动切换句子方向
7)修改notebook删除方式
8)完善google voice下载
需要继续完善的地方(从豌豆荚网站)
1)初次启动帮助;2)滑动删除记录;3)完善资源;4)添加反馈(音效,计分)


11.2
1)添加音效
2)主界面左右滑动
3)修改读音正确,提示颜色bug
4)添加“下一句“滑动动画,上一句还没添加


还需要做的:
1)初次启动帮助;2)完善资源;3)添加分享至人人。4)添加友盟统计


11.4
修改choose页的图片。


修改数据库的步骤
1)整理好素材(图片+音频)
2)编写xml
3)运行sentencedb创建数据库
4)用adb整合dictionary
5)更新项目数据库,图片,音频
6)调试前要删除sdcard中每日口语中的旧版本数据库


dictionanry中须添加单词:
rabbit


导入了所有资源,初级口语类资源调试完成,
商务和生活待导入数据库。


1)初次启动帮助;2)3)添加分享至人人。4)添加友盟统计
5)ppt,视频


基本整合完所有资料,扩充t_words
友盟key:50969fea5270157f2100012b


整合资源成功


每日口语是一款致力于英语口语学习的App。
它包含了初级口语、名言佳句、、和商务口语三个板块。无论你是英语刚起步的初学者、还是在职场打拼的白领人士,都可以在这里找到适合自己的实用句子。
软件自带记事本,遇到喜欢的句子可以随时记录。每一句都有纯正美式英语发音,还有相应的情景图片让你记忆更加深刻。
语音矫正功能更是能够让你真正的说出一口流利的英语,从今天起,甩掉你的Chinglish!


1)修改选择界面的图标2)初次运行提示,删除旧数据库3)友盟统计


已在下面的市场中提交应用:
1)豌豆荚 3)应用汇 4)机锋市场
身份待验证:
1)按卓市场2)小米
410324198112080050
机峰:emptyShen
做得非常用心~支持一下
混淆还是有一些问题,
umeng的sdk和文档太烂,艹
数据统计美版发实现了


今天完成umeng的sns功能的集成,能够分享到人人,新浪微波,腾讯微波。
还需在titlebar添加一个分享按钮。
修改了splash界面,显示版本号v1.1。


然后发布到googleplay
还有更新各个渠道
11.20下午
应用汇ok androidMarket:ok 小米:ok gfan:ok 安智:ok
googlePlay未发布成功。
完善文档之后此项目完结。
2012.11.20 晚






    
[2] java判断字符串包孕某个字符段
    来源: 互联网  发布时间: 2014-02-18
java判断字符串包含某个字符段
String str = "1234567";
if(str.indexOf("23") != -1)
{
     System.out.println("包含该字符串");
}


    
[3] 进程间通信之信号量-使用信号实现生产者消费者有关问题
    来源: 互联网  发布时间: 2014-02-18
进程间通信之信号量--使用信号实现生产者消费者问题

生产者消费者是数学中的一个经典的问题,也是编程中的一个经典问题。

本示例采用信号量来解决这个问题,其实,最终也就是进程之间同步的问题。

生产者源代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ipc.h>
#include <sys/stat.h>
#include <sys/sem.h>

int sem_id;
void init()
{
	key_t key;
	int ret;
	unsigned short sem_array[2];   //0代表生产者,1代表消费者
	union semun
	{
		int val;
		struct semid_ds *buf;
		unsigned short *array;
	}arg;
	key=ftok(".",'s');
	sem_id=semget(key,2,0777|IPC_CREAT);
	sem_array[0]=0;
	sem_array[1]=100;
	arg.array=sem_array;
	ret=semctl(sem_id,0,SETALL,arg);
	if(ret==-1)
	{
		perror("semctl");
		exit(1);
	}
	printf("productor init is %d\n",semctl(sem_id,0,GETVAL));
	printf("consumer  init is %d\n",semctl(sem_id,1,GETVAL));
}
void del()
{
	semctl(sem_id,IPC_RMID,0);
}

int main()
{
	struct sembuf sops[2];
	int retv;
	sops[0].sem_num	= 0;
	sops[0].sem_op  = 1;
	sops[0].sem_flg = 0;
	sops[1].sem_num	= 1;
	sops[1].sem_op  = -1;
	sops[1].sem_flg = 0;
	init();
	printf("this is productor\n");
	while(1)
	{
		printf("\n\nbefore produce\n");
		printf("productor number is %d\n",semctl(sem_id,0,GETVAL));
		printf("space number is %d\n",semctl(sem_id,1,GETVAL));
		retv=semop(sem_id,&sops[1],1);
		//if(retv==-1)
			printf("no work semo on sops[0] retv%d\n",retv);
		printf("now producting....\n");
		retv=semop(sem_id,&sops[0],1);
		//if(retv==-1)
			printf("no work semo on sops[0] retv=%d\n",retv);
		printf("\nafter produce\n");
		printf("productor number is %d\n",semctl(sem_id,0,GETVAL));
		printf("space number is %d\n",semctl(sem_id,1,GETVAL));
		sleep(1);
	}
	del();
	return 0;
}


 

 

消费者源代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ipc.h>
#include <sys/stat.h>
#include <sys/sem.h>
int sem_id;
void init()
{
	key_t key;
	key=ftok(".",'s');
	sem_id=semget(key,2,0777|IPC_CREAT);
}
int main()
{
	
	struct sembuf sops[2];
	sops[0].sem_num	= 0;
	sops[0].sem_op  = -1;
	sops[0].sem_flg = 0;
	sops[1].sem_num	= 1;
	sops[1].sem_op  = 1;
	sops[1].sem_flg = 0;
	init();
	printf("this is customer\n");
	while(1)
	{
		printf("\n\nbefore consumer\n");
		printf("productor number is %d\n",semctl(sem_id,0,GETVAL));
		printf("space number is %d\n",semctl(sem_id,1,GETVAL));
		semop(sem_id,&sops[0],1);
		printf("now consuming....\n");
		semop(sem_id,&sops[1],1);
		printf("\nafter consume\n");
		printf("productor number is %d\n",semctl(sem_id,0,GETVAL));
		printf("space number is %d\n",semctl(sem_id,1,GETVAL));
		sleep(3);
	}





	return 0;
}


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3