如何从Android中的给定网址下载并保存图像?
在我的应用程序中,我将使用很多布局"边框",这是一个简单的圆角矩形.为了测试它的外观,我创建了一个透明背景的.png文件:
我只是将图像设置为我的布局背景.问题是我需要不同比例的其他布局,这将浪费时间在Photoshop中为我的所有布局创建这样的图像.
问题:我如何使用android API(也许是XML形状)做同样的事情,但允许矩形拉伸到任何尺寸并仍保持清晰?
我们来看一个简单的开关盒,看起来像:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.someValue :
case R.id.someOtherValue:
// do stuff
break;
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道为什么不允许使用||
运营商?喜欢
switch (v.getId()) {
case R.id.someValue || R.id.someOtherValue:
// do stuff
break;
}
Run Code Online (Sandbox Code Playgroud)
该switch-case
构造非常类似于if-else
语句,但您可以使用OR运算符if
.switch-case
不接受此运营商的背景是什么?
我的要求是:在GCM消息到达后,设备应该唤醒以显示高优先级通知.设备应打开屏幕.
目前我正在使用WakeLock来实现这一目标.该newWakeLock()
方法需要传递锁定级别和标志(作为第一个参数,按位或者).
我正在使用PowerManager.ACQUIRE_CAUSES_WAKEUP
旗帜,因为它完全符合我的需要.但是,我对锁定级别有点沮丧.所以根据文档,我有以下选择:
PARTIAL_WAKE_LOCK
- 与ACQUIRE_CAUSES_WAKEUP
屏幕不兼容/不打开屏幕SCREEN_DIM_WAKE_LOCK
- 已弃用SCREEN_BRIGHT_WAKE_LOCK
- 已弃用FULL_WAKE_LOCK
- 已弃用FLAG_KEEP_SCREEN_ON
在这种情况下,建议完全没用.我最终只是在压制弃用警告:
@SuppressWarnings("deprecation")
PowerManager.WakeLock screenOn = ((PowerManager) c.getSystemService(Context.POWER_SERVICE)).newWakeLock(
PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, TAG);
screenOn.acquire();
mNotifyMgr.notify(mNotificationId, mBuilder.build());
screenOn.release();
Run Code Online (Sandbox Code Playgroud)
问题:在描述的情况下是否有一种非弃用的可靠方法来唤醒设备?
编辑 我不是要求解决方法来唤醒设备.我的问题是,是否可以Activity
使用不弃用的API 从后台唤醒设备(没有运行)
我看到了许多相关的讨论,但没有找到合适的解决方案.我需要做的是在EditText小部件的顶部和底部创建一个黑色边框.那可能吗?
我有一个简单的Activity
显示定制Dialog
与一些RadioGroups
,没有什么特别的.在使用应用程序时,我注意到一些奇怪的LogCat输出标记为警告并标记为ResourceType:
07-19 23:29:18.073: W/ResourceType(32621): Failure getting entry for 0x010802c1 (t=7 e=705) in package 0 (error -75)
Run Code Online (Sandbox Code Playgroud)
我的应用程序正在按预期工作(虽然此时我已经完成了不到10%),但我没有注意到任何问题.任何人都知道这个警告的含义,以及将来是否会有任何相关问题?
PS在根据SGS2 I9100(4.1.2 JB)上测试时显示警告,并且在SGS Note N7000(也是4.1.2)上测试时没有出现
我在尝试从长按一下从列表视图中删除项目时遇到了一些麻烦.以下是代码:
public class MListViewActivity extends ListActivity {
private ListView lv;
private String[] some_data = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
some_data = getResources().getStringArray(R.array.mdata);
// Bind resources Array to ListAdapter
ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(this,
R.layout.list_item, R.id.label, some_data);
this.setListAdapter(myAdapter);
lv = getListView();
lv.setDividerHeight(3);
lv.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int arg2, long arg3) {
// Can't manage to remove an item here
return false;
}
});
}
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏
我正在使用Fresco库.
我在Fresco文档中找不到任何相关信息,如何从Fresco的磁盘缓存中获取图像文件?
我使用TinyBus库在我的应用程序中调度事件.MinSDK是15,编译SDK是23.
在21之前的设备上,我面临的问题似乎影响了许多使用反射的应用.一旦我尝试在我的基Activity
类(继承自AppCompatActivity
)的总线上注册,我就会得到以下崩溃日志:
E/AndroidRuntime: java.lang.NoClassDefFoundError: android/os/PersistableBundle
E/AndroidRuntime: at java.lang.Class.getDeclaredMethods(Native Method)
E/AndroidRuntime: at java.lang.Class.getPublicMethodsRecursive(Class.java:955)
E/AndroidRuntime: at java.lang.Class.getMethods(Class.java:938)
E/AndroidRuntime: at de.halfbit.tinybus.impl.ObjectsMeta.<init>(ObjectsMeta.java:58)
E/AndroidRuntime: at de.halfbit.tinybus.TinyBus.processQueue(TinyBus.java:346)
E/AndroidRuntime: at de.halfbit.tinybus.TinyBus.register(TinyBus.java:178)
E/AndroidRuntime: at com.package.name.activities.InitializedActivity.onStart(InitializedActivity.java:62)
E/AndroidRuntime: at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1166)
E/AndroidRuntime: at android.app.Activity.performStart(Activity.java:5264)
E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2047)
E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2099)
E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java:138)
E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:4929)
E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
我知道这个错误是由dalvik无法初始化它在dex
文件中找不到的类引起的.有很多关于这个问题的信息和问题(因为它也会影响Otto和其他人),但到目前为止我只看到一个修复: …
我刚刚创建了一个新的android项目,并为它准备了基本结构.Eclipse告诉我它无法解析任何字符串,甚至标准"hello"
或"app_name"
字符串:O重新启动IDE没有帮助.有什么建议?可以在此处找到屏幕截图