小编Ski*_*izz的帖子

了解Android中的R类

在android中,我不确定我是否完全理解这个R课程.我正在浏览数独的例子,我有这段代码:

switch (v.getId()) // the id of the argument passed is evaluated by switch statement
{
    case R.id.about_button: // 
    Intent i = new Intent(this, about.class);
    startActivity(i);
    break;
    // More buttons go here (if any) ...
}
Run Code Online (Sandbox Code Playgroud)

我是Java的新手,但从我收集的内容看起来它正在接受输入(触摸屏触摸按钮)并评估参数.然后,如果识别出about按钮,则设置case语句,并创建新的界面屏幕,然后导航到手机上.

这是正确的吗?

如果我得到了正确的要点,为什么与"R"类交易呢?

为什么要调用它来识别按钮的ID?

我认为超类(在这个项目中)是SudokuActivity类.

java android

64
推荐指数
3
解决办法
9万
查看次数

找不到与给定名称匹配的资源(在'text'处,值为'@ string/continue_label')

首先让我说我是Android编程的新手.我正在使用Pragmatic的Hello Android书(第3版).我正在研究流行的数独游戏示例,在复制了要放在main.xml文件中的书中的代码后,我收到以下错误:

error: Error: No resource found that matches the given name (at 'background' with value '@color/background')
.
error: Error: No resource found that matches the given name (at 'text' with value '@string/main_title').

error: Error: No resource found that matches the given name (at 'text' with value '@string/continue_label').

error: Error: No resource found that matches the given name (at 'text' with value '@string/new_game_label').

error: Error: No resource found that matches the given name (at 'text' with value '@string/about_label').

error: Error: …
Run Code Online (Sandbox Code Playgroud)

java eclipse android

11
推荐指数
2
解决办法
3万
查看次数

通过Objective-C创建SQLite3数据库文件

我正在尝试在运行时通过Objective-C创建一个SQLite3数据库文件.我正在尝试创建一个名为"tblStore"的表.我希望字段名称被称为"strStoreNumber"和"strStoreReg".我是iOS和SQLite的新手,所以我很难找到执行此操作的语法.除了创建表之外,我希望创建的表不驻留在应用程序包中,而是将其驻留/存储在手机上的某个位置.该表需要是可读/可写的.我已经对"用户沙箱"以及"文档目录"进行了一些阅读.我不确定我是否理解两者之间的区别.理想情况下,我的应用程序将使用一个按钮从文本字段中获取输入.将文本字段的输入放入字符串后,将进行检查以查看我的"tblStore"SQLite表是否存在,如果不存在,则将创建该表.

回顾一下:1.Obj-C/SQLite使用"strStoreNumber"和"strStoreReg"字段创建名为"tblStore"的表的语法是什么?2. db文件应驻留在哪里?我需要读取和写入tblStore db文件.3."用户沙箱"和"文档目录"之间有什么区别?

这就是我目前所拥有的:

-(IBAction)setInput:(id)sender
{
    NSString *strStoreNumber;
    NSString *strRegNumber;
    NSString *tableName = @"tblStore";
    NSString *dbStrStore = @"strStore";
    NSString *dbStrReg = @"strReg";


    strStoreNumber = StoreNumber.text;
    strRegNumber = RegNumber.text;

    NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString* documentsDirectory = [paths lastObject];
    NSString* databasePath = [documentsDirectory stringByAppendingPathComponent:@"tblStore.sqlite"];
//  NSString* databasePath = [[NSBundle mainBundle] pathForResource:@"tblStore" ofType:@"sqlite"];

    if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) 
    {
        NSLog(@"Opened sqlite database at %@", databasePath);

        char *err; 
        NSString *sql = [NSString stringWithFormat:@"CREATE TABLE IF NOT EXISTS '%@' ('%@' TEXT PRIMARY …
Run Code Online (Sandbox Code Playgroud)

sqlite iphone ios

5
推荐指数
2
解决办法
2万
查看次数

使用SQLite与iOS ...非常初学者的程序

我正在尝试编写一个应用程序,其中我将使用两个文本字段进行输入.从文本字段获取的输入正在初始化为字符串.所以我想要完成的是:

  • 创建一个将保存在Xcode项目中的SQLite数据库(文件)(我不知道它可以保存到哪里,但我需要能够读取并写入它).
  • 然后我想将字符串(从文本字段输入)放入SQLite表中,该表只有两个字段(为简单起见).我正在使用一个按钮接受来自文本字段的输入,将输入放入字符串,然后将字符串的值放入标签中.
  • 我最终会希望将文本字段中的字符串放入表中,然后读取表格以"抓取"字符串并将其显示在标签中.所有这一切都可以通过点击按钮来完成.

我意识到这是非常具体的,但我一直很难找到任何简单的方法来实现这一目标.我对iOS开发非常陌生,如果有人能够尽可能具体和详细,我会感激,或者至少指出一些可以教会我如何实现这一目标的资源.

我正在使用Xcode v4.3.2,我不使用Storyboard或ARC.我试图尽可能详细,但尽可能地,我的目标非常简单.

我被挖掘出来,我很感激能得到的所有帮助.

谢谢!-Matt

sqlite ios

4
推荐指数
1
解决办法
7414
查看次数

如何隐藏iOS数字键盘

我正在使用数字键盘来输入UITextField.我注意到Interface Builder有一个名为"Done"的返回键属性.当我在返回键选项下选择"完成"时,我没有看到在数字键盘上创建了完成按钮.如果我将其从数字键盘更改为其他键盘类型,我会在其他键盘类型上看到"完成"按钮,但在使用数字键盘时则不会.

  • 我想在键盘上创建一个"完成"按钮,按下时会隐藏键盘
  • 我想这样做是因为键盘占用了大量的空间
  • 我对iOS开发很新,所以我们将非常感谢能够实现这一目标的最简单,最简单的方法

提前致谢!

iphone uitextfield ios

4
推荐指数
1
解决办法
2534
查看次数

从主视图切换到其他视图

我试图使用一个按钮从一个视图(XIB)转到另一个视图.我正在使用Xcode 4.3.2和iOS 5.我首先创建项目(Single View Application).然后我在Interface Builder中创建我的按钮,在头文件中创建我的插座,在.m文件中创建我的IBAction.接下来,我右键单击Xco​​de中的项目文件夹并选择"新建文件".然后我选择了"Object-C Class"并将其命名为"SecondViewController".创建了两个新文件,"SecondViewController.h"和"SecondViewController.m".然后我回去右键单击Xco​​de中的项目文件夹,选择"新建文件",然后从"用户界面"选项中选择"查看".

现在我有我的空IBAction(我的按钮),我想用它去一个新的视图,叫做SecondViewController.xib.

如果到目前为止创建新的XIB和.h/.m文件是正确的,那么我将如何使用我的按钮"转到"或显示我的第二个视图?请记住,我仍然处于初级水平,我感谢任何帮助和耐心:)

我可以在主View和我的SecondView之间区分的唯一区别是在头文件中:

主视图头文件:

@interface ButtonToNewViewViewController : UIViewController
Run Code Online (Sandbox Code Playgroud)

第二个View头文件:

@interface SecondViewController : NSObject
Run Code Online (Sandbox Code Playgroud)

IBAction为:

-(IBAction)nextView:(id)sender
{
    // go to new view
}
Run Code Online (Sandbox Code Playgroud)

cocoa-touch view uikit viewcontroller ios

1
推荐指数
1
解决办法
2万
查看次数

为什么不调用库(委托)方法?CocoaAsyncSocket

我已经坚持这个问题几天了,似乎越来越接近一个决议(在伟大的用户@ SO的帮助下).我正在使用CocoaAsyncSocket库来创建到Windows服务器的TCP套接字连接.

我的appDelegate正在建立连接:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    socket = [[AsyncSocket alloc] initWithDelegate:self];
    NSError *error = nil;
    if (![socket connectToHost:@"199.5.83.63" onPort:11005 error:&error]) 
    {
        NSLog(@"Error connecting: %@", error);
    }

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    self.viewController = [[[tekMatrixViewController alloc] initWithNibName:@"tekMatrixViewController" bundle:nil] autorelease];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

我有一个名为onSocket的连接方法(库的一部分):( AsyncSocket*)sock didConnectToHost:(NSString*)主机端口:(UInt16)端口:

- (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port
{
    NSLog(@"connected :D");
}
Run Code Online (Sandbox Code Playgroud)

正在调用此方法,因为我可以看到NSLOG的输出并且我已成功连接.我还可以从Windows机器上看到连接成功(使用日志文件).

我还测试了另一个委托方法也被调用:

- (void)onSocket:(AsyncSocket *)sock …
Run Code Online (Sandbox Code Playgroud)

iphone delegates objective-c ios cocoaasyncsocket

1
推荐指数
1
解决办法
812
查看次数

检查表是否存在以及它是否不存在,创建它... iOS/SQLite

我目前有一个存在的表,我可以从中提取数据.我想要做的是检查表中是否已经存在表,如果没有,我想创建表并将其保存到bundle(意味着路径将在主包中).我希望在setInput方法的顶部检查和创建数据库.我一直在寻找与此类似的东西,但我还没有想出任何东西.非常感谢任何帮助.这是我的代码:

-(IBAction)setInput:(id)sender
{
    NSString *strStoreNumber;
    NSString *strRegNumber;

    strStoreNumber = StoreNumber.text;
    strRegNumber = RegNumber.text;
    lblStoreNumber.text = strStoreNumber;
    lblRegNumber.text = strRegNumber;

    NSString* databasePath = [[NSBundle mainBundle] pathForResource:@"tblStore" ofType:@"sqlite"];

    if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) 
    {
        NSLog(@"Opened sqlite database at %@", databasePath);
        sqlite3_exec(database, "CREATE TABLE IF NOT EXISTS tblStore (ID INTEGER PRIMARY KEY AUTOINCREMENT, Message TEXT)", NULL, NULL, NULL);
        //...stuff
    } 
    else 
    {
        NSLog(@"Failed to open database at %@ with error %s", databasePath, sqlite3_errmsg(database));
        sqlite3_close (database);
    }
//    
    NSString *querystring;

    // create your statement …
Run Code Online (Sandbox Code Playgroud)

sqlite ios

0
推荐指数
1
解决办法
9028
查看次数