Questions tagged «android»

Android是Google的移动操作系统,用于对数字设备(智能手机,平板电脑,汽车,电视,Wear,Glass和IoT)进行编程或开发。对于与Android相关的主题,请使用特定于Android的标签,例如android-intent,android-activity,android-adapter等。对于与开发或编程无关但与Android框架相关的问题,请使用以下链接:https:// android.stackexchange.com。

3
不推荐使用BitmapDrawable替代
我有以下代码,将可绘制对象旋转一定程度的角度。 public Drawable rotateDrawable(float angle, Context context) { Bitmap arrowBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.generic2rb); // Create blank bitmap of equal size Bitmap canvasBitmap = arrowBitmap.copy(Bitmap.Config.ARGB_8888, true); canvasBitmap.eraseColor(0x00000000); // Create canvas Canvas canvas = new Canvas(canvasBitmap); // Create rotation matrix Matrix rotateMatrix = new Matrix(); rotateMatrix.setRotate(angle, canvas.getWidth()/2, canvas.getHeight()/2); //Draw bitmap onto canvas …
88 android  drawable 

19
安装错误:INSTALL_FAILED_OLDER_SDK
我是Android开发的新手,我想首先让该Hello World应用程序运行。我正在使用Eclipse IDE和Android 4.0.3版本15 SDK。我从教程站点复制了所有内容,但是当我尝试在上运行应用程序时,出现virtual device此错误: [2012-02-01 11:31:23 - Android_test] Installation error: INSTALL_FAILED_OLDER_SDK [2012-02-01 11:31:23 - Android_test] Please check logcat output for more details. [2012-02-01 11:31:23 - Android_test] Launch canceled! Here is my class in the com.maze.app package: package com.maze.app; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroid extends …
88 android  eclipse 


8
重写onMeasure()的权威方法?
重写onMeasure()的正确方法是什么?我见过各种方法。例如,专业Android开发人员使用MeasureSpec来计算尺寸,然后以对setMeasuredDimension()的调用结束。例如: @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){ int parentWidth = MeasureSpec.getSize(widthMeasureSpec); int parentHeight = MeasureSpec.getSize(heightMeasureSpec); this.setMeasuredDimension(parentWidth/2, parentHeight); } 另一方面,按照本文所述,“正确”的方法是使用MeasureSpec,调用setMeasuredDimensions(),然后调用setLayoutParams(),最后调用super.onMeasure()。例如: @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){ int parentWidth = MeasureSpec.getSize(widthMeasureSpec); int parentHeight = MeasureSpec.getSize(heightMeasureSpec); this.setMeasuredDimension(parentWidth/2, parentHeight); this.setLayoutParams(new *ParentLayoutType*.LayoutParams(parentWidth/2,parentHeight)); super.onMeasure(widthMeasureSpec, heightMeasureSpec); } 那么哪种方法正确呢?两种方法都对我没有100%的作用。 我想我真正要问的是有人知道一个解释onMeasure(),子视图的布局,尺寸等的教程吗?

13
屏幕旋转期间如何处理AsyncTask?
我阅读了很多有关如何保存实例状态或如何处理在屏幕旋转期间被破坏的活动的文章。 似乎有很多可能性,但是我还没有弄清楚哪种方法最适合检索AsyncTask的结果。 我有一些AsyncTasks只是重新启动并调用isFinishing()活动的方法,如果活动完成,它们将不会更新任何内容。 问题是我有一个任务向可能失败或成功的Web服务发出请求,而重新启动该任务将给用户造成经济损失。 您将如何解决?可能的解决方案有哪些优点或缺点?

5
在Android中设置全局未捕获异常处理程序的理想方法
我想为我的Android应用程序中的所有线程设置全局未捕获的异常处理程序。因此,在Application子类中,我将未实现的Thread.UncaughtExceptionHandler异常的实现设置为默认处理程序。 Thread.setDefaultUncaughtExceptionHandler( new DefaultExceptionHandler(this)); 在我的实现中,我试图显示一条AlertDialog显示适当的异常消息。 但是,这似乎不起作用。无论何时,任何未处理的线程都会引发异常,我得到了库存的OS默认对话框(“抱歉!-应用程序已停止-意外对话框”)。 为未捕获的异常设置默认处理程序的正确理想方法是什么?

17
将Android Volley导入Android Studio
我想使用Google的凌空图书馆 我正在使用Android Studio,并且知道如何添加.jar库。 但是我无法使用凌空文件创建一个.jar库: https://android.googlesource.com/platform/frameworks/volley 这是我的工作:(使用Windows 7) git clone https://android.googlesource.com/platform/frameworks/volley cd volley android.bat update project -p . --target android-19 ant.jar jar 我得到的输出: 发生Java异常。 怎么了?我如何添加一个非.jar库?


13
在Android上的Chrome中获取物理屏幕尺寸/ dpi /像素密度
题 有没有安全的方法可以在Android上的Chrome中获取实际正确的屏幕物理尺寸?如有必要,可以将旧版本的Chrome和Android排除在外。 先前的研究 关于从Javascript(或CSS)中获取设备的实际物理屏幕尺寸的问题,stackoverflow上有很多死胡同的问题。似乎html api标准化与实际的浏览器实现之间没有融合,更不用说浏览器实现依赖于OS api,而OS api则依赖于提供正确信息的硬件。 顺便说一下,在假设当时盛行的某个像素密度的情况下,某些先验答案是奥术(2011年之类),因此毫无用处。其他则与webkit有关,而Chrome闪烁可能已取代了Chrome(?)中的webkit。 我想通过将事物限制为仅适用于Android上的Chrome来探索简单解决方案的存在。 注意 这全部与浏览器内部的javascript(或css)解决方案有关,而不是针对本机应用程序的解决方案。

4
Android-活动构造函数与onCreate
我了解到AndroidActivities具有特定的生命周期,onCreate应该重写该生命周期并将其用于初始化,但是构造函数中到底发生了什么?在任何情况下,您也可以/应该重写Activity构造函数,或者永远不要触摸它? 我假设永远不要使用构造函数,因为对 Activities不会完全清除(从而妨碍了垃圾收集器),并且onDestroy为此目的而存在。它是否正确?

8
带有VideoView的无缝视频循环
我有以下代码将视频作为原始资源,启动视频并将其循环播放,但是从片段的结尾到现在,我需要视频才能无缝循环,然后再次开始播放片段,导致瞬间闪烁,我的应用程序确实无法做到这一点。 public class Example extends Activity { VideoView vv; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); vv = (VideoView)findViewById(R.id.VideoView01); //Video Loop vv.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { public void onCompletion(MediaPlayer mp) { vv.start(); //need to make transition seamless. } }); Uri uri = …

12
如何在Android模拟器中下载Google Play服务?
我想在我的应用程序中使用Google Play服务API,但是当我打开模拟器测试我的应用程序时,它会向我发送一条消息,指出“必须下载Google Play服务”。我知道发生这种情况是因为我MainActivity在方法中将这个测试编码了onResume()。 我想知道如何在模拟器中安装Google Play服务,因为很快我将需要测试地图。

10
找不到带有哈希字符串“ android-25”的目标
我有Android Studio 2.2。我正在尝试打开一个项目,但出现错误“无法使用哈希字符串'android-25'找到目标”。在错误消息下方,我看到一个链接“安装缺少的平台并同步项目”。如果单击此链接,则会出现另一个错误,提示 “以下软件包不可用:-软件包ID平台; android-25”。 在Android SDK工具中,我可以看到已经安装了“ Android 7.0”(API级别24)。在检查有关Android版本及其API级别的详细信息时,我发现Android Nougat的API级别为24-25。我想知道如何将SDK从API24更新到25?
88 android 

10
如何为所有移动设备创建一个链接,以打开以当前位置为起点并以给定位置为起点的路线的Google地图?
我宁愿以为要发现这个问题并不难,但是似乎很难像您期望的那样找到很棒的跨设备文章。 我想创建一个链接,该链接可以打开移动设备的浏览器并浏览到Google地图,也可以打开地图应用(Apple Maps或Google Maps)并直接开始路线,即:从当前位置开始,在给定点结束(纬度/经度)。 我可以在两个设备(浏览器堆栈旁边),Android和iPhone上进行测试。 以下链接仅适用于Android: <a href="http://maps.google.com/maps?daddr=lat,long&ll=">Take me there!</a> 点击iPhone的Chrome中的此链接,这会奇怪地打开桌面版Google Maps,并在移动应用中展示广告... 这仅适用于iOS,打开Apple Maps要求我输入一个起始位置(我可以选择“当前位置”)并开始该路线=所需的行为。在Android上,完全无法点击此链接: <a href="maps://maps.google.com/maps?daddr=lat,long&ll=">Take me there!</a> 注意maps://协议。 有没有一种优雅的跨设备方式来创建这样的链接?一个适用于所有主要手机的链接? 谢谢 更新:找到解决方案(种类) 这是我想出的。尽管可以正常工作,但它并非我想象的那样。 var ua = navigator.userAgent.toLowerCase(), plat = navigator.platform, protocol = '', a, href; $.browser.device = ua.match(/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera/i) ? ua.match(/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera/i)[0] : false; if ($.browser.device) { switch($.browser.device) { case 'iphone': case …

4
相对于中心点的Android图像比例动画
我有一个ImageView,并对其进行了简单的缩放动画。非常标准的代码。 我的scale_up.xml: <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:fromXScale="1" android:fromYScale="1" android:toXScale="1.2" android:toYScale="1.2" android:duration="175"/> </set> 我的动画代码: Animation a = AnimationUtils.loadAnimation(this, R.anim.scale_up); ((ImageView) findViewById(R.id.circle_image)).startAnimation(a); 问题: 当图像缩放时,它不是从中心缩放,而是从左上角缩放。换句话说,图像的缩放版本与中心没有相同的点,但是其左上角具有相同的点。这里的链接解释了我的意思。第一张图像是动画的缩放比例,第二张图像是我希望的缩放比例。它应保持中心点相同。我尝试在容器上的图像上设置重力,将其向左或向右对齐,它的缩放比例始终相同。我在主屏幕上使用了RelativeLayout,ImageView位于另一个RelativeLayout中,但是我尝试了其他布局,没有任何变化。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.