首页 文章 精选 留言 我的

精选列表

搜索[安卓系统],共10000篇文章
优秀的个人博客,低调大师

安卓之页面跳转与传值和按钮事件

一:新建页面 即新建Activity,new-other-Android Activity,next, 新建Activity的时候, 1:eclipse会自动创建Layout,我们发现Layout目录下会多了对应的xml文件; 2:ec会自动在AndroidManifest.xml中创建对应的activity节点; 需要注意的是,这些都是ec帮我们自动创建的,我们完全可以手动创建 class,然后让它继承自activity,然后指定layout的那个xml,然后手动创建节点完成。 二:点击按钮进行页面跳转 在主页面创建一个button,对应 <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/editText1" android:layout_below="@+id/editText1" android:layout_marginLeft="41dp" android:layout_marginTop="73dp" android:text="Button" android:onClick="Btn1OnClick"/> 可以在xml中指定按钮事件方法,那么,我们在页面的后台代码中,可以直接实现此方法为: public void Btn1OnClick(View view){ Intent intent = new Intent(); intent.setClass(MainActivity.this, Test2Activity.class); startActivity(intent); } 方法中的3行代码就是用于页面跳转。 三:页面传值 有的时候,在跳转页面时还需要传递数据,这个时候如何做呢? 如果数据比较少,比如只要传一个名字,那么只要j加一句"intent.putExtra("Name", "feng88724");"即可,代码如下: Intent intent = new Intent(); intent.setClass(A.this, B.class); intent.putExtra("Name", "feng88724"); startActivity(intent); 如果数据比较多,就需要使用 Bundle类了,代码如下: (说明直接看注释) Intent intent = new Intent(A.this, B.class); /* 通过Bundle对象存储需要传递的数据 */ Bundle bundle = new Bundle(); /*字符、字符串、布尔、字节数组、浮点数等等,都可以传*/ bundle.putString("Name", "feng88724"); bundle.putBoolean("Ismale", true); /*把bundle对象assign给Intent*/ intent.putExtras(bundle); startActivity(intent); 以上我们讲的都是如何进行页面跳转及数据传递,那么在另一个页面B上,应该如何接收数据呢? 在A页面上是以Bundle封装了对象,自然在B页面也是以Bundle的方式来解开封装的数据。主要通过"getIntent().getExtras()"方法来获取Bundle,然后再从Bundle中获取数据。 也可以通过" this.getIntent().getStringExtra("Name");"方法直接从Intent中获取数据。 从Bundle获取数据的代码: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /*加载页面*/ setContentView(R.layout.main); /*获取Intent中的Bundle对象*/ Bundle bundle = this.getIntent().getExtras(); /*获取Bundle中的数据,注意类型和key*/ String name = bundle.getString("Name"); boolean ismale = bundle.getBoolean("Ismale"); } 有时,在页面跳转之后,需要返回到之前的页面,同时要保留用户之前输入的信息,这个时候该怎么办呢? 在页面跳转后,前一个Activity已经被destroy了。如果要返回并显示数据,就必须将前一个Activity再次唤醒,同时调用某个方法来获取并显示数据。 要实现这个效果,需要做以下几步: 1. 首先,从A页面跳转到B页面时,不可以使用"startActivity()"方法,而要使用"startActivityForResult"方法。 2. 在A页面的Activity中,需要重写"onActivityResult"方法 @Override protected void onActivityResult(int requestCode,int resultCode,Intent data){ switch(requestCode){ case RESULT_OK: /*取得来自B页面的数据,并显示到画面*/ Bundle bundle = data.getExtras(); /*获取Bundle中的数据,注意类型和key*/ String name = bundle.getString("Name"); boolean ismale = bundle.getBoolean("Ismale"); } } 3. 在B页面上加一个返回按钮,并在事件写如下代码: /*给上一个Activity返回结果*/ B.this.setResult(RESULT_OK,intent); /*结束本Activity*/ B.this.finish(); 本文转自最课程陆敏技博客园博客,原文链接:http://www.cnblogs.com/luminji/p/4545144.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

安卓逆向系列教程 4.11 优酷 APK 去广告

4.11 优酷 APK 去广告 作者:飞龙 软件下载:http://app.cnmo.com/android/235159/ 这次要破解优酷的 APK,去掉播放视频开头的广告: 我们先抓包,看到了api.mobile.youku.com,这个就是广告所在的域名。 我们载入 AK: 将所有api.mobile.youku.com都换成127.0.0.1即可: 然后,在回编译的时候,会有如下问题。 >D:\Wizard破解工具包\Tool\Android\AndroidKiller_v1.3.1\projects\Youku\Project\res\values-v23\styles.xml:6: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/WindowTitleBackground'. >D:\Wizard破解工具包\Tool\Android\AndroidKiller_v1.3.1\projects\Youku\Project\res\values-v23\styles.xml:6: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/WindowTitleBackground'. 我们找到res/value-v23/styles.xml,把resources下的东西注释掉: <?xml version="1.0" encoding="utf-8"?> <resources> <!-- ... --> </resources> 在找到res/value/public.xml,把所有带Base.V23的东西(两个)注释掉: <!-- <public type="style" name="Base.V23.Theme.AppCompat" id="0x7f0d00a6" /> <public type="style" name="Base.V23.Theme.AppCompat.Light" id="0x7f0d00a7" /> --> 即可成功编译: 当前 Apktool 使用版本:Android Killer Default APKTOOL 正在编译 APK,请稍等... >I: 使用 ShakaApktool 2.0.0-20150914 >I: 编译 smali 到 classes.dex... >I: 编译 smali_classes2 到 classes2.dex... >I: 正在编译资源... >I: 正在拷贝libs目录... (/lib) >I: 正在编译apk文件... >I: 复制未知文件/目录... APK 编译完成! 正在对 APK 进行签名,请稍等... APK 签名完成! --------------------------- APK 所有编译工作全部完成!!! 生成路径: file:D:\Wizard破解工具包\Tool\Android\AndroidKiller_v1.3.1\projects\Youku\Bin\Youku_killer.apk

优秀的个人博客,低调大师

去除安卓导航栏和状态栏的方法

http://www.th7.cn/Program/Android/201412/326584.shtml 去除导航栏主要意图为: 1>当手机有物理按键时,需要把虚拟按键(也叫做导航栏)去除或者隐藏,是用户界面的需要 2>如苹果那样只有一个按键的,不要这个虚拟按键 3>模拟器上自己做了导航键盘,不需要android自带的虚拟导航按键 这里介绍直接去除的方法: 1>去除导航栏: 设置导航栏的宽度为0即可,代码:frameworks/base/core/res/res/values/dimens.xml。设置xml中navigation_bar_height和navigation_bar_height_landscape设置为0dp 2>去除状态栏:设置导航栏的宽度为0即可,代码:frameworks/base/core/res/res/values/dimens.xml。设置xml中的status_bar_height为0dp即可

优秀的个人博客,低调大师

谷歌推出 AI 驱动的安卓编码助手 Android Studio Bot

谷歌在 2023 年 Google I/O 大会上推出名为AndroidStudio Bot的 AI 驱动式对话体验,该工具利用 Codey (Google 的编码基础模型,前身是 PaLM 2) 来帮助开发者为 Android 应用生成代码,并提高效率。 开发者可以在 Studio Bot工具中提问,以了解有关 Android 开发的更多信息,或获取修复现有代码中错误的帮助,且这些操作都不需要离开 Android Studio。 Studio Bot 目前尚处于非常早期的阶段,谷歌还在对它进行训练,以让它能够更好地回答问题和帮助学习。此工具不会将源代码发送给 Google ,但会与谷歌共享开发者与 Studio Bot 之间的聊天对话。 Studio Bot 首个版本目前仅供美国的 Android 开发者使用,可以阅读相关文档,了解更多内容。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册