当前位置: 编程技术>移动开发
本页文章导读:
▪监听home键及发送ontouch事件步骤 监听home键及发送ontouch事件方法
// 比如说在button的onclick事件中,要发送一个ontouch的up事件,做法如下:
public void clickBtn(View v){
dispatchTouchEvent.(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptim.........
▪ 播放中文歌曲时,歌词乱码的解决办法 播放中文歌曲时,歌词乱码的解决方法
前一段时间写mp3播放器的应用,发现一播放中文歌曲时,歌词就会出现乱码,搜了很久都没有找到答案。今天终于被我找出那个可恶的Bug了。原来在取.........
▪ 半手工制作一個Viewer (配合NIB) 半手工打造一個Viewer (配合NIB)
//
// main.m
//
//
// Created by unknown on 12/6/1.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import <UIKit/UIKit.h>
// 好用的列按鈕項目建立巨集
#define BARBU.........
[1]监听home键及发送ontouch事件步骤
来源: 互联网 发布时间: 2014-02-18
监听home键及发送ontouch事件方法
// 比如说在button的onclick事件中,要发送一个ontouch的up事件,做法如下:
public void clickBtn(View v){
dispatchTouchEvent.(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, 240, 400, 0));
}
// 期中该btn的onclick事件是在xml里面注册的
<Button android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text="发送onTouch的 UP事件"
android:onClick="clickBtn" />
// 截获Home事件做法
// 1.加权限禁止Home键
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>
// 2.复写 onAttachedToWindow()
@Override
public void onAttachedToWindow()
{
// TODO Auto-generated method stub
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
// 3.监听onKeyDown事件
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
// TODO Auto-generated method stub
if(KeyEvent.KEYCODE_HOME==keyCode)
android.os.Process.killProcess(android.os.Process.myPid());
return super.onKeyDown(keyCode, event);
}
[2] 播放中文歌曲时,歌词乱码的解决办法
来源: 互联网 发布时间: 2014-02-18
播放中文歌曲时,歌词乱码的解决方法
前一段时间写mp3播放器的应用,发现一播放中文歌曲时,歌词就会出现乱码,搜了很久都没有找到答案。今天终于被我找出那个可恶的Bug了。原来在取歌词文件时用的方法“br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "GBK"));”中的“GBK”出了问题。我下载的中文歌词文件是用“UTF-8”编码表来编码的,当用“GBK”编码表来读取时就会出现乱码了。将“UTF-8”替代“GBK”,问题得到解决。
刚才在csdn上还找到另一种完美的解决办法,就是自动识别文件的编码格式,然后进行转换。链接:http://blog.csdn.net/yangchuxi/article/details/6670538有兴趣的可以去看一下~
前一段时间写mp3播放器的应用,发现一播放中文歌曲时,歌词就会出现乱码,搜了很久都没有找到答案。今天终于被我找出那个可恶的Bug了。原来在取歌词文件时用的方法“br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "GBK"));”中的“GBK”出了问题。我下载的中文歌词文件是用“UTF-8”编码表来编码的,当用“GBK”编码表来读取时就会出现乱码了。将“UTF-8”替代“GBK”,问题得到解决。
刚才在csdn上还找到另一种完美的解决办法,就是自动识别文件的编码格式,然后进行转换。链接:http://blog.csdn.net/yangchuxi/article/details/6670538有兴趣的可以去看一下~
[3] 半手工制作一個Viewer (配合NIB)
来源: 互联网 发布时间: 2014-02-18
半手工打造一個Viewer (配合NIB)
//
// main.m
//
//
// Created by unknown on 12/6/1.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import <UIKit/UIKit.h>
// 好用的列按鈕項目建立巨集
#define BARBUTTON(TITLE, SELECTOR) [[UIBarButtonItem alloc] \
initWithTitle:TITLE style:UIBarButtonItemStylePlain target:self \
action:SELECTOR]
//Step 5.a 設計一個ViewController
@interface convertController:UIViewController
{
UITextField *field1;
UITextField *field2;
}
-(IBAction)doConvert:(id)sender;
@end
@implementation convertController
//Step 5.b 複寫loadView來佈置此ViewController的layerOut
-(void)loadView
{
// 建立視圖
self.view=[[[NSBundle mainBundle]loadNibNamed:@"View" owner:self options:NULL] lastObject];
//映射到HelloWorldController的item
field1=(UITextField *)[self.view viewWithTag:11];
field2=(UITextField *)[self.view viewWithTag:12];
[field1 setText:@"100"];
UIBarButtonItem *convertButtonItem =[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doConvert:)] autorelease];
self.navigationItem.rightBarButtonItem=convertButtonItem;
[self setTitle:@"Converter"];
}
-(IBAction)doConvert:(id)sender
{
float invalue = [[field1 text] floatValue];
float outvalue = (invalue - 32.0f) * 5.0f / 9.0f;
[field2 setText:[NSString stringWithFormat:@"%3.2f", outvalue]];
[field1 resignFirstResponder];
}
// 應用程式支援所有裝置擺設方向
- (BOOL) shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)toInterfaceOrientation
{
return YES;
}
@end
//=====================
//Step 1.建立UIApplicationDelegaye class
@interface converDelegate :NSObject<UIApplicationDelegate>
{
//Step 2.加入window 指標
UIWindow *_window;
}
@end
@implementation converDelegate
//Step 3.複寫applicationDidFinishLaunching
-(void)applicationDidFinishLaunching:(UIApplication *)application
{
//Step 4.構建window,並且保留在_window
_window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
//Step 5.建構一個UINavigationController,並且初始化一個converController 物件當做RootViewController
UINavigationController *nc=[[UINavigationController alloc]initWithRootViewController:[[convertController alloc]init]];
//Step 6.把nc挂入到window的Root
[_window setRootViewController:nc];
//Step 7.show window
[_window makeKeyAndVisible];
}
@end
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, @"converDelegate");
}
}
最新技术文章: