在我的应用程序中(在野外)偶尔会出现这种异常。
WebView用于显示jpg(使用Android版本/设备的缩放/滚动功能,而不是重新发明轮子并执行所有反射操作)
我不知道为什么这个例外最终会出现。基本上我只能想到一个安卓bug
我所做的(GUI线程中的一切):
首先显示缩略图作为预览
set getSettings().SetBuilTinZoomControl(false)
加载常规图片时,显示该图片
set getSettings().SetBuilTinZoomControl(真)
我完全理解将大量数据转储到首选项中是完全不合适的,但我的要求不是很高,而是足够大(可能是500-5000字节),我不知道这是否合适。这些文件没有帮助。
我已经搜索了网络和Stackoverflow,在以下方面找不到明确的答案:
a) 基于底层架构,实际限制是什么
b) 实际限制是什么,基于性能(我发现即使写入很短的pref值也可能需要几秒钟,但我怀疑这只是闪存写入延迟)
请澄清。所有共享pref都存储在/data/data/[package name]/shared_prefs/[app na
标签: Android
screenandroid-screen-support
是否有任何方法可以确定当前设备的屏幕大小类别,如小、正常、大、xlarge
不是密度,而是屏幕大小。您可以使用位掩码
例如:
if ((getResources().getConfiguration().screenLayout &
Configuration.SCREENLAYOUT_SIZE_MASK) ==
Configuration.SCREENLAYOUT_SIZE_LARGE) {
// on a large screen device .
奇怪的问题:是否有可能获取资产文件夹中文件的最后修改日期,或者这是毫无意义和不可能的
我之所以这样做是因为我在应用程序启动时将只读数据库从那里复制到data文件夹中,但我更愿意只在现有文件比存储在assets文件夹中的文件旧(或者该文件不存在)时执行复制
如果不可能的话,有人知道更好的约定吗?如果需要,我可以在一个单独的问题中发布。蒂亚 数据库有多大/复杂?您可能会发现,使用的实例来处理此问题更容易、更灵活,因为只需对进行一次调用,它就会在必要时创建数据库,并调用您的实例来为您升级数据库
您所要
我想知道Android SDK中对SSL/TLS服务器名称指示(SNI)扩展的支持。据我所知,Android SDK中有部分支持。目前的情况如下:
因为姜饼释放TLS与HttpsURLConnectionAPI的连接支持SNI
Android附带的Apache HTTP客户端库不支持SNI
Android web浏览器也不支持SNI(因为使用Apache HTTP客户端API)
Android bug tracker中有一个与此相关的问题
还可以通过连接到此URL来测试SNI支持情况:幸运的是,
在蜂巢(Android3)之前,每个活动都是通过布局XML中的onClick标记注册的,以处理按钮点击:
android:onClick="myClickMethod"
在该方法中,您可以使用view.getId()和switch语句来执行按钮逻辑
随着蜂巢的引入,我将这些活动分解成可以在许多不同活动中重用的片段。按钮的大多数行为都与活动无关,我希望代码驻留在片段文件中,而不使用为每个按钮注册OnClickListener的旧方法(1.6之前)
final Button button = (B
我们能从手机检测到手机连接到充电器或Android调试桥(ADB)吗?
我们可以使用adb kill server命令关闭adb服务器吗
您可以通过接收广播意图来检测手机是否已连接到充电器
抱歉,你不能停止ADB服务器
我的意思是手机是用充电器还是USB线连接的。
对不起,我的英语不好,但我需要你们的帮助。我创建了一个自定义视图
包com.gwprogram
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.ShapeDrawable;
import android.view.View;
im
如何在Android市场描述中发布超链接?我试着在描述中插入如下内容:,但它显示的是准确的HTML代码,而不是可单击的链接
我在另一个市场页面上看到过这样做,所以这是可能的,但如何做到呢
回答:对于网站来说,写HTTP地址就足够了。在设备市场上,这似乎是不可能的。我认为您希望提供您的android Market应用程序链接:
欲了解更多信息,请点击此项:在一天结束时,只写地址而不写任何标签,可以在Android Market网页上点击链接。我也无法在“描述”字段中插入锚定标签样式的描述性超链
除了设置准确时间(即午夜)和设置延迟(即24小时)之外,使用AlarmManager和ScheduledExecutorService定期运行任务有什么区别
在我的例子中,我需要每天晚上运行一点代码来检查新数据,并在有新数据时创建一个新通知
谢谢 我认为ScheduledExecutorService与您的进程相关,如果进程被终止,它将无法工作。相比之下,AlarmManager由操作系统管理,因此即使应用程序未运行,它也可以工作。ScheduledExecutorService只有在您有一些组
是否可以在TextView中添加?有人实现过类似的功能吗
我希望在TextView中有不可破坏的空格。TextView尊重(\u00A0),这将是一个比HTML更简单/更轻的解决方案。这是一个在TextView中使用nbsp的示例
示例:\u00A0\u00A0是非中断空间,\u0020不是非中断空间文本视图应尊重非中断空间
<string name="test">Hello world</string>
我遇到的一个独特情况是,在字符串资源中添加一个
我需要在状态更改时更改文本颜色(按下,焦点)
如何使用颜色StateList设置文本视图的文本颜色
编辑,已解决:
textView.setTextColor(new ColorStateList(
new int [] [] {
new int [] {android.R.attr.state_pressed},
new int [] {android.R.attr.state_focused},
new int [] {}
},
new
我想在声音池中加载一些MP3,但我只在活动3中使用这些MP3,是否可以在活动1中加载这些MP3
或者这仅限于加载它并使用它的活动
我在文件里找不到答案 您可以随时加载它们,并在任何地方使用它们。重新使用SoundPool对象的最佳方法是扩展应用程序类,并在其中声明一个私有变量,即您的SoundPool。比如:
class MyApp extends Application {
private static MyApp singleton;
private static Soun
可以为Android和iOS Phonegap应用程序添加动画启动屏幕吗?
我尝试添加动画.gif作为Android的启动屏幕文件,但它不起作用。也就是说,没有动画,我只能看到.gif的第一帧
还有一种方法可以在启动屏幕的某个地方添加动态文本吗?实际上这就是我想要的。而使用.gif只是我的假设,我怎样才能用最简单的方法来实现它。
所以,如果你能给我举个例子,用Phonegap在iOS和Android动态启动屏幕上运行cod,那就更好了。gif动画在Android上不受支持。使用jQuery可以制
标签: Android
android-4.0-ice-cream-sandwichillegalstateexception
在使用用户选择的项目内容打开新活动后,返回到原始的ListActivity时出现此异常。它只发生在冰淇淋三明治上
这是跟踪:
java.lang.IllegalArgumentException: The observer is null.
at android.database.Observable.unregisterObserver(Observable.java:59)
at android.widget.BaseAdapter.unregisterDataSetObs
我正在开发一个使用TableLayout的屏幕。在这里,我可以轻松地创建两个列。但是如何创建三列呢?对于每个表行,您必须添加三个子项,而不是两个子项。这对你来说应该没问题
希望这有帮助 这里有一个例子:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_pa
在调试我在Eclipse for Android中编写的一个程序时,我收到一个错误消息说,Android.jar没有源附件
如何将该源连接到Eclipse以继续调试?在Eclipse中:
窗口>Android SDK管理器,在Android 4.0下安装“Android SDK源代码”
当出现“无附加源…”提示时,单击按钮,然后选择目录“您的Android SDK目录/sources/Android-API级别”/
示例:Eclipse包资源管理器中的C:\…\android sdk windo
我是Android新手,对Java有点生疏,来自.NET背景。我正在为运行在Android上的移动应用程序开发一些自动化测试
目前,我只是使用Android调试桥通过命令行启动测试,但在尝试运行任何测试时出现错误:
首先,这是我收到的错误:
junit.framework.TestSuite$1:
警告失败:
junit.framework.AssertionFailedError:在中未找到任何测试
com.myapp.test.UITests
位于android.test.AndroidTe
标签: Android
screen-orientationandroid-actionbar
我有一个非常简单的代码,其中我使用带有选项卡片段的操作栏。它在加载后工作正常,但在方向改变后会变得疯狂。旧碎片也可见(为什么?)
很抱歉图像上有匈牙利文字,但我希望没关系。
我附上代码,也许它有助于解决这个问题
主要活动:
public class Main extends Activity
{
private static ActionBar actionBar;
@Override
protected void onCreate(final Bundle save
我遇到了一个奇怪的问题:
我正在为应用程序创建样式,并设置:
<item name="android:spinnerStyle">@style/CustomSpinnerAppearance</item>
<item name="android:textViewStyle">@style/CustomTextViewAppearance</item>
<item name="android:buttonStyle">@style/C
标签: Android
android-activityandroid-context
我正在尝试处理应用程序中的异常。我正在尝试记录异常,然后使用Toast提醒用户出现问题。我在班上所有扩展活动中都发现了这个工作
但是,在任何不扩展活动的类中,我都不能使用toast方法,因为我无法获取当前上下文。有没有一个简单的方法来解决这个问题,或者我们班的所有活动都应该扩展吗?您只需传递上下文即可
当您从活动类调用非活动类时
YourNonActivtyClass obj = new YourNonActivtyClass(Activity.this);
Toast消息应该在应用程序上下文
我的屏幕上有滚动视图和三个不同的线性布局
一个线性布局包含一个微调器,第二个包含列表视图,第三个包含两个按钮(水平)
我想显示一个屏幕,其中包含3个始终显示在屏幕底部的LinearLayout,以及1个始终显示在顶部的LinearLayout。在中间部分,我想显示ListView内容。这样在整个屏幕上就没有空白了
我想为多个大小不同的设备创建屏幕
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xml
我刚开始转换我的网站有“响应网页设计”。我安装了Firefox()的“WebDeveloper”插件来检查它是否工作。一切看起来都很好
现在我用我的安卓手机试了一下。我在肖像模式下工作不正常。。。
我发现问题的根源在于手机上对@media选择器的错误处理:
此页面()生成一个CSS,输出浏览器使用的高度/宽度和设备高度/宽度+方向作为参数
我得到了以下结果:
肖像,800x1200
景观,800x400
方向正确,两个方向的宽度/高度和设备宽度/高度相同。
但该设备(HTC Desire Z
我试图检测列表视图何时滚动超过某个固定阈值(像素)(第一项的一半)。不幸的是,listview的getScrollY()似乎总是返回0 instad的滚动位置。有没有办法通过像素获得实际的滚动位置
下面是我尝试使用的代码,但正如前面所说,它只返回0
getListView().setOnScrollListener(new AbsListView.OnScrollListener() {
public void onScroll(AbsListView view, int firstVi
我目前正在进行一个学校项目,我正在尝试学习如何将OSM地图块下载到手机的本地内存/缓存中,以便用户能够在脱机时查看地图
这是通过给出一个特定的位置来完成的,并且在距离该位置特定半径/距离内的地图分幅将下载到手机存储器中(当有在线连接时)以进行离线显示
然而,我在理解OSMDroid的API时遇到了一些小麻烦。据我了解,所涉及的课程似乎有:
如果我错了,请纠正我
另外,在MapTileBase(我相信它是提供者)中,getMapTile返回
这个可绘制类甚至与离线地图显示的概念有关吗
希
我在这里拼命想弄明白为什么IntelliJ/Android报告“空测试套件”。我有一个带有两个IntelliJ模块的小项目(Eclipse中的“项目”)。单元测试模块有自己的AndroidManifest.xml,我已经粘贴在底部。我正在尝试运行一个ActivityUnitTestCase,因为测试将依赖于上下文-对象
主模块的包名是nilzor.myapp。测试模块的包名为nilzor.myapp.tests
为什么测试运行程序没有检测到testBlah()-方法作为测试
<?xml v
标签: Android
stylesthemesoverridingcheckedtextview
通读之后,我试图引用我设置的自定义主题中的属性值
我正在将用户定义的样式应用于CheckedTextView
<CheckedTextView
android:id="@+id/contactInfo"
style="@style/ListViewCheckedTextViewRowStyle" >
</CheckedTextView>
我还尝试在AndroidManifest.xml文件中设置主题,如:
<
标签: Android
android-sqliteandroid-lifecyclesqliteopenhelper
我正在创建一个与数据库进行大量交互(读写操作)的应用程序
为了避免在每次请求时进行打开/关闭操作,我使用单例设计模式创建了一个扩展SQLiteOpenHelper的类。这样,我确信在整个应用程序生命周期(而不仅仅是活动生命周期)中,只有一个SQLiteOpenHelper的实例和一个到数据库的连接
我也读了一些关于ContentProvider的文章,但我不确定这是一种更好的方式
因此,这是我的Singleton类的主要逻辑(onCreate和onUpgrade已删除):
public最终类Ba
我是Android新手,我必须为播放音频音乐创建MediaPlayer。当开始播放我的活动歌曲时。但是当我改变模拟器屏幕上的方向时,MediaPlayer将重新初始化,另一个音频开始播放。我怎样才能避免呢
这是我的密码:
public class Audio_Activity extends Activity {
MediaPlayer mp = null;
public void onCreate(Bundle savedInstanceState)
{
我想设计一个微调器,如下图所示:
我没有在微调器中看到指向下方的箭头符号。我该怎么做
如果我做了如上所示的按钮设计,那么我必须编写额外的代码来获得与微调器类似的功能,因为微调器没有android:drawableRight=“@drawable/arraodown”,但在按钮中我们有这个方法。您必须为微调器创建自定义布局。我想下面可能会给你一个想法
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:a
据
提到了以下比例因子
xhdpi:2.0
hdpi:1.5
mdpi:1.0(基线)
ldpi:0.75
我想知道xxhdpi的比例因子是多少?如果你看一下,你会发现xxhdpi是480 dpi,是基线的3倍(mdpi@1.0)。换句话说,xxhdpi的比例因子是3.0,你可以看到比例因子是0.00625
/**
* Scaling factor to convert a density in DPI units to the density scale.
* @hide
*/
publ
与Facebook Android SDK 3.0相关的内容类似
SDK 3.5中的Facebook登录按钮是否可以使用我自己的图像,而无需自定义SDK本身
使用链接问题中给出的答案:
<com.facebook.widget.LoginButton
xmlns:fb="http://schemas.android.com/apk/res-auto"
android:id="@+id/login_button"
android:layout_width="249dp
我读过一篇文章,在调用onStop()之前总是要先调用onPause(),不管是什么情况。参考:图1
我们知道,当一个活动没有用户焦点但仍然部分可见时,它会暂停,而当它根本不可见时,它会停止
现在,在场景中,当用户处于活动中,并从“最近的应用程序”窗口选择并进入另一个应用程序时,活动将从“已恢复/正在运行”状态进入“已停止”状态。没有中间暂停状态。
不是吗
在onStop()之前始终使用onPause()的好理由是什么。我们可以在onStop()中执行onPause()中的操作为什么我们总是需要
我正在寻找一种方法,当Android设备进入范围(并开始广告)时,自动将其连接到蓝牙LE(4.0智能)设备。我希望它能像蓝牙耳机一样工作——当打开时,它们会自动连接到配对的电话(如果在范围内)
我考虑在后台运行一个服务,定期(每50-100毫秒)检查广告。然而,其中一个主要问题是Android设备的电池寿命
有人能告诉我在安卓4.3及以上版本上实现这些功能的最佳方式是什么吗
提前谢谢 您可以注册广播接收器,以便在找到蓝牙设备时接收广播。有关详细信息和示例代码,请参见API指南主题
再看看这个话题
标签: Android
android-asynctaskhttprequest
我是Android开发新手。我的问题是,我是否使用AsyncTask来发出HTTP GET请求(JSON响应)?这是正确的吗?如果这是真的,有人知道我在哪里可以看到这样的例子吗?如果没有,你能纠正我吗?谢谢 是的,您是对的,Asynctask用于短时间运行的任务,例如连接到网络。它还用于后台任务,这样您就不会因为无法在UI/主线程中进行网络连接而阻塞UI线程或出现异常
示例:
class JSONAsyncTask extends AsyncTask<String, Void, Boole
标签: Android
android-design-libraryandroiddesignsupportandroid-collapsingtoolbarlayout
我试图用NestedScrollView实现CollasingToolbarLayout,它在底部NestedScrollView中显示TextView,不允许滚动或折叠工具栏。我用RecyclerView(但不是NestedScrollView)实现了这个功能。当我删除app:layout\u behavior=“@string/appbar\u scrolling\u view\u behavior时,工具栏将折叠,但嵌套的ScrollView不在appbar布局下方。有解决方案或建议修复此
重命名应用程序包名称后,Android Studio显示此错误无法解析符号AppCompatActivity
我尝试过的事情:
清洁工程
清理Android Studio缓存
清洁梯度缓存
重新安装IDE
文件->使缓存无效/重新启动
但是没有什么真正的帮助。项目构建成功,但我无法使用语法突出显示
我使用了com.android.support:appcompat-v7:23.1.1
屏幕截图
就在几分钟前,我遇到了完全相同的问题,并通过执行构建>重建项目来修复它
希望有帮助。仅删除整个.
无法理解。。。如何仅在变量字段不为null时设置视图的某些属性?
比如说
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="item"
type="com.test.app.
我看到以下例外情况:
04-06 13:35:58.498 4219 4219 E AndroidRuntime: android.view.InflateException: Binary XML file line #17: Failed to resolve attribute at index 6: TypedValue{t=0x3/d=0x46 "res/color/abc_secondary_text_material_dark.xml" a=2 r=0x7f0e00e5}
04
我在Kotlin中创建了一个自定义视图,并希望访问它的属性资源
下面是我的代码
class CustomCardView : FrameLayout {
constructor(context: Context) : super(context)
constructor(context: Context, attrs: AttributeSet) : super(context, attrs)
constructor(context: Context, attrs:
标签: Android
android-serviceandroid-lifecycle
文件说,
如果服务当前正在运行且用户已
已删除来自服务应用程序的任务
似乎只有当应用程序从最近的任务列表中刷走时才会调用它。按下后退按钮直到任务中的所有活动被销毁,不会导致调用此任务。是否存在其他可以调用此功能的场景
按下“上一步”按钮直到任务中的所有活动都被销毁为止,不会导致调用此任务
按后退按钮完成活动并不意味着运行的服务和应用程序进程将终止。除非系统终止进程,否则服务将保持运行(如果未显式或自停止),因此在完成活动的情况下不会调用Service.onTaskRemoved(),如您所述
是
标签: Android
alarmmanagerbackground-processandroid-handlerandroid-jobscheduler
我有一个应用程序,它有一个应该每分钟在后台运行的功能。功能A是应用程序应连接到数据库,读取一些数据,然后获取设备的当前位置,并根据这些数据检查条件,如果条件为真,则应向用户发送状态栏通知,以便当用户单击通知时,将显示应用程序的UI,并发生一些事情。
此后台任务应每分钟永久运行一次,无论应用程序是否已被使用、关闭或终止(如facebook或Whatsapp,它向我们显示通知,无论它们是否在应用程序堆栈中)。
现在我搜索并发现Android提供了作业调度程序、后台服务、报警管理器和处理程序
但我读得
我试图在Android Studio中打开一个Ionic2项目,但在事件日志中出现以下错误:
“梯度同步失败:未找到已安装的生成工具。请安装Android生成工具版本19.1.0或更高版本。有关详细信息,请参阅IDE日志(帮助|显示日志)”
我以前也看到过类似的问题(也可能是最新版本的Ionic2或Cordova破坏了某些东西->)
从gradle.build文件或项目结构更改“buildToolsVersion”或“compileSdkVersion”的版本没有帮助
在“C:\Users\G
标签: Android
datepickercoded-ui-testsandroid-espresso
我有一个带有两个DatePicker控件和一些文本输入和按钮的活动。我想通过浓缩咖啡测试一些场景:
将日期设置为第一个日期选择器
设置一些文本并单击按钮以触发我的业务逻辑,并将日期设置为秒日期选择器
检查第二个日期选择器的日期
在第三步中,我想做一些类似于onView(带id(R.id.end\u date\u picker)).检查(匹配(带文本(“25-01-2017”))。我可以用什么来代替文本检查日期选择器日历/日期值?谢谢你的帮助。要实现你想要的,你需要两件事:
要为日期选择器设置日期
标签: Android
android-appbarlayoutandroid-support-design
我有以下xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawerLayout"
标签: Android
android-testingandroid-app-bundleinternal-app-sharing
我已经在Play console中上传了Android应用程序包以进行Alpha测试,但当我打开测试URL时,它显示在下面的对话框中
尝试以下选项以启用内部应用程序共享
备选案文1:
步骤1:打开游戏商店
步骤2:导航到设置。(单击位于屏幕右上角的帐户配置文件图片)
第3步:启用开发人员选项。(转到“关于”部分,并在“播放商店”版本上轻按七次)
第4步:一旦出现“您现在是开发人员!”提示,您将在用户控件部分看到“内部应用程序共享”选项
备选案文2:
步骤1:打开游戏商店
步骤2:导航到设置。(游
标签: Android
google-play-consolebilling
多年来,我一直在我的应用程序中使用AIDL IabHelper类为订阅付费。现在,尽管我已经在production.apk中实现了Google Play Billing Library 3.0,但我仍然在Google Play控制台中收到此警告。有什么建议吗
implementation 'com.android.billingclient:billing:3.0.0'
重新订阅当前不适用于您的用户,因为您的应用
未在所有活动APK中使用计费库2.0
我发现了我的问题
我有一个版本在生产和开放
我正在尝试加载网页片段,以便在我的新应用程序中使用,问题是代码运行,但对于每个网站,它都会显示一个白色屏幕,没有崩溃或错误消息。我也尝试在Kotlin中这样做,这可能不是一个好主意……但目前仍然有时间移植到java
AndroidManiferst.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android
标签: Android
android-activityandroid-jetpack-compose
我升级到Jetpack Compose 1.0.0-alpha12,开始遇到问题
首先,我使用的setContent方法显示为已弃用
从照片上,我注意到上面写着:
ComponentActivity.setContent已移动到androidx.activity.compose.setContent中的androidx.activity:activity compose模块。()
因此,我删除了我的import-androidx.compose.ui.platform.setContent,并将
有没有一种方法可以通过查看任何一种操作系统上的打包安装版本来确定应用程序的开发语言(如Swift、react等)?
例如,如何知道Duolingo是用Swift还是其他语言编写的?Github显示所有公共存储库的语言。因此,如果你看看开源库或应用程序。例如,这个著名的图书馆,翠鸟如下
Xcode不是一种语言,它是一种IDE。您可以使用它编写多种语言。您可以通过查看和检查react-native库是否在android设备上的反编译apk中来判断react-native。但请注意,应用程序不必使用1