android studio怎么创建数据库

android studio怎么创建数据库,第1张

通常来说,一个android应用程序不止一个Activity(活动),更不止一个界面。于是需要创建多个Activity来满足应用程序的要求,这里我将告诉大家如何添加新的Activity,并实现Activity之间的切换,这里的两个活动以不同界面展示,活动的切换相当于界面的切换。

Android studio

Android手机或者安卓模拟器

首先创建一个Test项目工程,选择默认版式,选择好自己喜欢的主题(Theme)。

Android studio教程:[6]创建多个Activity

文件管理器中找到layout下的xml文件,并将其复制粘贴一份到layout目录下,命名为second_activity.xml。

Android studio教程:[6]创建多个Activity

接下来在.java文件处新建一个java class,命名为SecondActivity。

Android studio教程:[6]创建多个Activity

Android studio教程:[6]创建多个Activity

此时可以看到文件目录中多出来一个xml文件和一个java类文件。

Android studio教程:[6]创建多个Activity

打开AndroidManifest.xml文件,添加一个<activity></activity>标签,添加内容如下:

<activity

android:name=".SecondActivity"

android:label="Second Activity">

<intent-filter>

<action android:name="com.litreily.SecondActivity"/>

<category android:name="android.intent.category.DEFAULT"/>

</intent-filter>

</activity>

Android studio教程:[6]创建多个Activity

修改SecondActivity.xml:

<TextView

android:text="The Second Activity!"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

Android studio教程:[6]创建多个Activity

修改SecondActivity.java文件:

public class SecondActivity extends ActionBarActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState)

setContentView(R.layout.SecondActivity)

}

}

Android studio教程:[6]创建多个Activity

修改主界面的activity_my.xml文件,添加一个按钮,用于跳转Activity:

<Button

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="转到下一个界面"

android:onClick="onClick"/>

Android studio教程:[6]创建多个Activity

在主界面的java类中实现按钮的点击事件响应函数onClick,通过startActivity函数打开新的Activity.

public void onClick(View view)

{

startActivity(new Intent("com.litreily.SecondActivity"))

}

Android studio教程:[6]创建多个Activity

设置采用模拟器打开App,并启动调试打开模拟器。

Android studio教程:[6]创建多个Activity

在模拟器中运行程序,点击按钮可以切换Activity,在第二个界面点击返回键可以返回主界面。

Android studio教程:[6]创建多个Activity

Android studio教程:[6]创建多个Activity

注意事项

xml文件的命名为小写字母或者数字,大写字母可能会报错

为什么您不能使用函数的原因是相当根深蒂固和遗憾的是目前无法解决。

寻找到 libs/armeabi-v7a/include/bits/c++config.h 文件在 gnu stdlibc + + 文件夹中,你会看到这个:

...

/* Define if C99 functions or macros from <wchar.h>, <math.h>, <complex.h>,

<stdio.h>, and <stdlib.h>can be used or exposed. */

/* #undef _GLIBCXX_USE_C99 */

...

在上面,在下面的代码段从结合 bits/basic_string.h 咒语坏消息:

...

#if (defined(__GXX_EXPERIMENTAL_CXX0X__) &&defined(_GLIBCXX_USE_C99) \

&&!defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF))

/* The definitions of Numeric Conversions [string.conversions] */

#endif

...

因此,这些函数是在 NDK 中无法使用。

根本原因:根本原因似乎是 C99 的功能用法已在 GNU stdlibc + + 中由于事实 armeabi v7a 平台上被禁用仿生 libc 不支持复杂的数学 (Android 上的标准 C 库是仿生)。

可能修复 (未经测试):探讨CrystaX 的 Android NDK似乎对香草 Android NDK 有扩展的。

注: __GXX_EXPERIMENTAL_CXX0X__通过添加定义 -std=gnu++11 到 APP_CXXFLAGS 或 LOCAL_CXXFLAGS

详细测试日志:使用 NDK 版本 r8e 生成

jni/Application.mk:

APP_STL := gnustl_static

APP_CXXFLAGS += -std=gnu++11

NDK_TOOLCHAIN_VERSION := 4.7

jni/Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE:= cxx11

LOCAL_SRC_FILES := cxx11.cpp

include $(BUILD_EXECUTABLE)

jni/cxx11.cpp:

#include <iostream>

#include <string>

int main(int argc, char* argv[]) {

#if defined(__GXX_EXPERIMENTAL_CXX0X__)

std::cout<<"__GXX_EXPERIMENTAL_CXX0X__ defined."<<std::endl

#else

std::cout<<"__GXX_EXPERIMENTAL_CXX0X__ not defined."<<std::endl

#endif

#if defined(_GLIBCXX_USE_C99)

std::cout<<"_GLIBCXX_USE_C99 defined."<<std::endl

#else

std::cout<<"_GLIBCXX_USE_C99 not defined."<<std::endl

#endif

#if defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF)

std::cout<<"_GLIBCXX_HAVE_BROKEN_VSWPRINTF defined."<<std::endl

#else

std::cout<<"_GLIBCXX_HAVE_BROKEN_VSWPRINTF not defined."<<std::endl

#endif

#if (defined(__GXX_EXPERIMENTAL_CXX0X__) &&defined(_GLIBCXX_USE_C99) \

&&!defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF))

std::string s="1"

std::cout<<"ll:"<<std::stoll(s)<<std::endl<<"ul:"<<std::stoul(s)<<std::endl

#else

std::cout<<"No support for stoll/stoul."<<std::endl

#endif

return(0)

}

Nexus 4 (Android 4.3) 上的输出:

u0_a51@mako:/ $ /data/local/tmp/cxx11

__GXX_EXPERIMENTAL_CXX0X__ defined.

_GLIBCXX_USE_C99 not defined.

_GLIBCXX_HAVE_BROKEN_VSWPRINTF not defined.

No support for stoll/stoul.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9392610.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存