我有一个应用程序,我想添加Android Wear应用程序扩展.主应用程序有三种构建类型(调试,测试和发布).Beta版本applicationIdSuffix允许我在同一设备上并行安装Play-store版本和当前开发版本.这一切都很好,直到我添加了磨损应用程序.
主应用程序build.gradle看起来像这样:
apply plugin: 'com.android.application'
android {
...
defaultConfig {
...
applicationId "com.example.mainApp"
...
}
buildTypes {
debug {
applicationIdSuffix '.debug'
}
beta {
applicationIdSuffix '.beta'
}
release {
}
}
}
dependencies {
...
wearApp project(':wear')
}
Run Code Online (Sandbox Code Playgroud)
Wear-App具有相同的构建类型,具有相同的applicationIdSuffix值.但是,当我构建beta应用程序(通过调用gradle assembleBeta)时,构建过程构建:wear:assembleRelease而不是:wear:assembleBeta为什么我在构建期间收到以下错误消息:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:handleBetaMicroApk'.
> The main and the micro apps do not have the same package name. …Run Code Online (Sandbox Code Playgroud) 如何获取没有Wifi接口的android设备的网络接口的MAC地址(例如android模拟器)?通过WifiManager获得的WifiInfo返回null.
编辑
更清楚一点:我必须在本地网络上与现有网络协议(不是由我设计)进行通信,在注册阶段我必须在有效负载内发送通信接口的mac地址.
我试图在javascript中完全克隆一个对象.我使用jquery知道以下解决方案:
var newObject = jQuery.extend({}, oldObject);
// Or
var newObject = jQuery.extend(true, {}, oldObject);
Run Code Online (Sandbox Code Playgroud)
但问题是,对象类型丢失了:
var MyClass = function(param1, param2) {
alert(param1.a + param2.a);
};
var myObj = new MyClass({a: 1},{a: 2});
var myObjClone = jQuery.extend(true, {}, myObj);
alert(myObj instanceof MyClass); // => true
alert(myObjClone instanceof MyClass); // => false
Run Code Online (Sandbox Code Playgroud)
是否有任何解决方案可以在第二个警报上实现?
我想把一个drawable放到一个对话框标题栏中.我尝试了以下方法:
final Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_LEFT_ICON);
dialog.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.some_icon);
dialog.setTitle(R.string.my_dialog_title);
dialog.setContentView(R.layout.my_dialog_layout);
...
Run Code Online (Sandbox Code Playgroud)
图标没有显示,但标题向右移动了一点.看来对话框为drawable保留空间但不绘制它.我尝试了几个不同的图标(也来自android资源),但没有它们工作.
我有一个ExpandableListActivity(使用SimpleCursorTreeAdapter),当用户点击子元素时,它会启动另一个活动.在新活动中按后退按钮时,所有列表项都会再次折叠.如何保存ExpandableListActivity的展开状态并再次将其还原.
我已经尝试像这样实现onSaveInstanceState()和onRestoreInstanceState()......
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Parcelable listState = getExpandableListView().onSaveInstanceState();
outState.putParcelable("ListState", listState);
}
@Override
protected void onRestoreInstanceState(Bundle state) {
super.onRestoreInstanceState(state);
Parcelable listState = state.getParcelable("ListState");
getExpandableListView().onRestoreInstanceState(listState);
}
Run Code Online (Sandbox Code Playgroud)
...但是onRestoreInstanceState()从未被调用过.我还尝试在onCreate()方法中恢复状态,但它也没有被调用:
if (savedInstanceState != null) {
Parcelable listState = savedInstanceState.getParcelable("ListState");
getExpandableListView().onRestoreInstanceState(listState);
}
Run Code Online (Sandbox Code Playgroud) 我已经发布了一个Android应用程序,您可以在其中查看特定对象的列表以及有关它们的详细信息.列表每天都会更改,但某些对象可能会再次出现.应用程序通过HTTP与PHP服务器通信,并定期提取对象列表.
我现在计划扩展应用程序,使其能够评价的对象,并添加评论类似于它是如何在Android市场完成的.我想避免强迫用户注册帐户以便发表评论.
我看到两个问题:
所以我的问题是: