当前位置: 编程技术>移动开发
本页文章导读:
▪监听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"); } }
最新技术文章: