Tag: android

在android中如何在类文件中以编程方式设置导航抽屉标题图像和名称?

在Android Studio 1.4.1中,我创build了一个新的导航抽屉项目,这是默认的。我的问题是在这个项目中有导航标题图像和名称的nav_header_main.xml文件。 我希望这个图像和名称应该在我的主要类活动中以编程方式设置。 如何做到这一点,我尝试了很多,但应用程序崩溃。 nav_header_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="match_parent" android:id="@+id/headerView" android:layout_height="@dimen/nav_header_height" android:background="@drawable/side_nav_bar" android:gravity="bottom" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:theme="@style/ThemeOverlay.AppCompat.Dark"> <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="@dimen/nav_header_vertical_spacing" android:src="@android:drawable/sym_def_app_icon" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="@dimen/nav_header_vertical_spacing" android:text="Android Studio" android:textAppearance="@style/TextAppearance.AppCompat.Body1" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="android.studio@android.com" /> </LinearLayout> activity_main.xml中 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" […]

完整的Android支持OSGi包

本主题将介绍如何将OSGI框架转换为在android上运行。 然后,它提供了将android包转换为OSGI包的能力,可以调用android API。 在目前阶段,这些Android OSGI捆绑软件无法做的唯一事情就是操纵活动并使用资源和资产。 我一直在努力解决这个限制。 我希望在这个问题上有好消息。 我发现在Eclipse中使用Create Plugin项目工具比在OSGI包中转换标准的android包更加困难,所以我不会多说这个。 您可以在本邮件末尾的“日志”部分中logging我的成就。 我指的是Knopflerfish项目,因为它是我工作的基础。 这些修改是为了在Knopflerfish OSGi android项目上执行,但实际上适用于其他OSGI框架。 不需要修改OSGi框架本身,我们只会更新Knopflerfish发行版tool目录下的项目KfServiceLib和KfBasicApp 。 添加基本​​的Android支持捆绑 function和限制 这是android框架的第一级定制。 这些更改将与上下文或调用线程无关,但它们允许使用像android.util.Log这样有限的一组android API类。 由于这些变化,bundle将能够在他们的原型和实现中使用android类。 尽pipe如此,由于缺less强制性参考,它们将无法与graphics用户界面,内容提供者和系统服务等相关。 Knopflerfish应用程序中的更改 就像它们一样,tools / android / apk下的应用程序能够在android上执行OSGi框架,但前提是bundle只调用java类。 对于作为Knopflerfish框架一部分的捆绑包,情况就是这样,但是想要调用android API的自定义捆绑包是什么? 以下是在框架中进行的更改,以启用parsingandroid类的bundle。 首先,android包必须是框架包的一部分,以便解决。 这是OSGi属性org.osgi.framework.system.packages.extra的目的 在创build框架之前将属性设置为要导出的android包列表,然后进行设置。 注意野生字符android.*似乎没有效果:我们必须像下面一样一个一个的告诉每个包。 在文件src / org / knopflerfish / android / service / KfApk.java中添加到KfServiceLib static final String ANDROID_FRAMEWORK_PACKAGES = ( "android," + […]

蓝牙控制器和控制台之间的游戏命令格式

我正在创build一个Android项目,在这个项目中,我必须将android wearable智能手表作为游戏控制器,它可以通过BLE(Bluetooth Low Energy)向连接到该智能手表的手持设备上运行的游戏发送命令。 我devise了可穿戴的控制台,并可以通过控制板的软button发送一些硬编码的文本到手持设备应用程序。 问题是,我必须用手持设备上运行的游戏预期的游戏命令格式replace那些文本。 而且,手持设备上运行的应用程序可以通过可穿戴的服务来收听文字。 我知道,第三方游戏不会有任何可穿戴的服务在运行,所以第三方游戏如何从可穿戴的智能手表接受/收听命令。 第三方游戏可以通过Android SDK支持硬件控制器

在android中自定义linting lib

我和我的团队开发Android应用程序,并决定所有应遵循的编码准则。 因此,我按照以下链接开始实施自定义lint规则: post由马特·康普顿写 Git Repo 我遇到的问题实际上是在项目基础上实施这些lint规则。 当我运行./gradlew clean build test install ,按照规定应用规则,一切正常。 但是,当我用./gradlew aarWrapper:assemblebuild立aar库时./gradlew aarWrapper:assemble将其./gradlew aarWrapper:assemble并添加到我的libs文件夹中,linting不起作用。 我添加了以下内容到我的build.gradle文件来添加库 repositories { flatDir { dirs 'libs' } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile(name: 'aarWrapper-debug', ext: 'aar') } 我不知道我错过了什么,但是当我运行./gradlew lint它运行./gradlew lint ,但不是我的自定义规则…任何帮助,提示或build议,非常感激。 编辑1 这是运行gradle时的terminal输出。 :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE :app:checkDebugManifest :app:preReleaseBuild UP-TO-DATE :app:prepareAarWrapperDebugLibrary UP-TO-DATE :app:prepareComAndroidSupportAnimatedVectorDrawable2421Library UP-TO-DATE :app:prepareComAndroidSupportAppcompatV72421Library […]

即使应用程序处于后台,React Native Android应用程序每小时消耗30mA电stream

当应用程序在后台工作一个小时,对样本(欢迎使用React Native)应用程序执行电stream消耗testing,结果如下: Sample application with RN version 34 : 31.54mA Sample application with RN version 22 : 24.60mA 作为示例原生android应用程序只在相同的情况下消耗大约10mA 。 使用的工具 : Power monitor (H/w) Power tool (S/w) 1)有谁可以证实上述testing,并解释高电stream消耗的原因? 2)与原生Android应用程序相比,反应原生应用程序的耗用电stream值是否正常? React Native version: RN 0.22 and RN 0.34 Platform : Android

video播放器使用appcompat-v7在Android中熄灭模式

我将从本机Holo( Theme.Holo等)的代码库移植到appcompat-v7 ( Theme.AppCompat等)。 如果你不想阅读详细信息,最后一部分包含tl; dr 。 问题 一切正常,但我有复制一个很容易使用旧的ActionBar行为的问题。 我有一个video播放器,在风景中,我希望它的行为像YouTube:隐藏(animation)播放器控件,应用程序栏和状态栏。 在用户交互时,UI控件应该保持这个“熄灯”模式并且回到正常状态。 如果用户在X秒钟内没有触摸屏幕,则定时器将返回熄灭模式。 使用ActionBar的相同代码不会使用Toolbar 。 所以,我使用的是: 一个不透明的状态栏 setSystemUiVisibility()使用这些组合之一: 默认: View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 熄灭: View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE minSdkVersion是16 显示和隐藏ActionBar,我简单地称它为show()和hide() 在应用程序栏上实现相同的行为我subclassed Toolbar并添加一个show()和一个hide()方法相同(首先简单地使用setVisibility() ,然后使用animation – 获得相同的结果) LAYOUT_STABLE使得appbar最终会在状态栏后面(因为它意味着一个fitSystemWindows 。由于appbar是视图层次结构中的普通视图,并不像ActionBar那样装饰,它受到那个标志这是我在屏幕上看到的: 不立即清除工具栏边界是什么,因为应用程序栏在黑暗中是黑暗的,但是您可以看到标题被剪切和“未alignment”。 这是因为工具栏大小正确,但在状态栏后面。 我的主要问题是在这一点上,没有公共的API来获得状态栏高度,矩形或其他任何东西来垂直移动我的应用程序栏以显示在状态栏下方。 testing主要是在LP513D上的N5上进行的(在编写本文时为最新的Lollipop公开构build版本),但Android 4.4上也可以看到相同的结果。 哈克解决scheme 也就是说,经过相当一段时间和一些失败的尝试,使得它以不太疯狂的方式工作(包括试图把它装进装饰的相当绝望的尝试),我采取了这种使它工作的恶劣方式: […]

有没有Android Drawabledevise师?

我想在我的Android应用程序中使用更多的vector绘图。 提供图像并不像我希望的那样具有空间效率或可扩展性。 Android提供了一系列可绘制的文件格式 ,如ShapeDrawable ,可以在LayeredDrawable进行组合。 要走这条路很远,如果有一个devise师可以看到结果,进行绘图并处理所有的结果文件,那就太好了。 C#WPF有Expression Blend ,Adobe有Flash CS4,iPhone有Opacity 。 所以我的问题是,有没有Android的devise师或绘图工具? 注意:其他问题已经谈到在Android中使用SVG。 Android不支持SVG,所以唯一的方法就是使用外部库。 我想避免这一点,并要求一个开发人员的工具。 SVG到Drawable转换器会很好,但我不知道一个。

如何自定义Android ActionBar在标签之前显示自定义视图?

我正在使用选项卡的ActionBar自定义视图。 我的问题是自定义视图的顺序。 Android 之后显示标签 – 我不想要的。 我想在选项卡之前显示自定义视图。 有没有一种方法来自定义的动作条在标签之前显示自定义视图? 或者这是不可能的? 码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final ActionBar bar = getActionBar(); bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); View customActionBarView = getLayoutInflater().inflate(R.layout.home_actionbar, null, true); ActionBar.LayoutParams lp = new ActionBar.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); lp.gravity = Gravity.START; bar.setCustomView(customActionBarView, lp); bar.setLogo(R.drawable.logo); bar.setHomeButtonEnabled(true); bar.setDisplayShowCustomEnabled(true); bar.addTab(bar.newTab() .setText("Stuff") .setTabListener(new TabListener<StuffFragment>( this, "stuff", StuffFragment.class))); bar.addTab(bar.newTab() .setText("Friends") .setTabListener(new TabListener<ContactsFragment>( this, "friends", […]

Jack(Java Android编译器套件)如何影响Scala开发人员

现在随着杰克 Google的发布澄清了Java在Android方面的可预见的未来。 但是对Scala和其他基于JVM的语言开发人员有什么影响。 尤其是: 由于自己的编译器生成Java字节码,Scala确实很神奇。 但杰克工具链不处理字节码 。 将生成的字节码获得杰克处理的优化好处吗? 从Scala 12开始,只支持Java 8+。 这就是生成的字节码也是Java 8+。 杰克能否使用Java 8字节码(没有或有限制)? 可以新支持的Java 8function用于开发较旧的Android版本(minSdkVersion <'N'),或者我应该为每个Java版本维护单独的分支? (从文档中不清楚)。 所有这些问题归结为一个:Scala可以用于未来的Android开发,而不牺牲新的Scalafunction和新的Android工具链的好处? 相关阅读: Java 8语言特性 杰克(Java的Android编译器套件) 新的Android工具链 – 杰克和吉尔 杰克和吉尔构build系统(幻灯片) Hello World,满足我们新的实验工具链 斯卡拉2.12路线图 请在评论或答案中分享相关链接 相关问题: Android N Java 8function(Jack编译器)和Kotlin互操作 有关: 在Android上的小组讨论 请为杰克工具function请求投票: Jill支持Java 8字节码(库) 支持Java 8语言function 编辑: 我试图推理(不回答)我的问题,希望专家会纠正我,如果我错了。 下面是Jack的一个假设stream程,其中增加了一些基于我的逻辑和我从可用文档中学到的额外的块。 基本的假设是,Dalvik最多支持Java 7字节码指令。 如果这是正确的Java 8指令不能直接传递给Dalvik,它们应该以某种方式转换为Java 7.(可能类似于Scala编译器总是这样)。 比问题是转换发生在哪里? 似乎Jill现在不能处理Java 8字节码,所以可能发生在假设stream程的块(3)中。 […]

保存Android股票语音识别引擎的audioinput

我正在试图保存在一个文件的audio数据收听android的语音识别服务。 其实我实现RecognitionListener这里解释: 在Android上的语音到文本 将数据保存到缓冲区,如下所示: 捕获发送到Google语音识别服务器的audio 并将缓冲区写入一个Wav文件,如在这里。 Android将Http Streaming的原始字节logging到WAVE文件中 我的问题是如何得到适当的audio设置保存在wav文件的标题。 其实我在播放wav文件时只听到奇怪的噪音,用这个参数, short nChannels=2;// audio channels int sRate=44100; // Sample rate short bSamples = 16;// byteSample 或者与此无关: short nChannels=1;// audio channels int sRate=8000; // Sample rate short bSamples = 16;// byteSample 令人困惑的是,从logcat中查看语音识别任务的参数,我首先设置PLAYBACK采样率为44100HZ : 12-20 14:41:34.007: DEBUG/AudioHardwareALSA(2364): Set PLAYBACK PCM format to S16_LE (Signed 16 bit Little Endian) […]