我正在开发一个带有活动的简单应用程序,我使用碎片.一些屏幕上有一些元素.当我编译并运行应用程序时它工作正常,除了三星Galaxy s3和注释4.我没有从stacktrace得到它有什么不对.
01-16 16:25:05.915: E/AndroidRuntime(23174): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test/com.test.MainActivity}: android.view.InflateException: Binary XML file line #37: Error inflating class com.android.internal.widget.ActionBarView
01-16 16:25:05.915: E/AndroidRuntime(23174): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2292)
01-16 16:25:05.915: E/AndroidRuntime(23174): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2350)
01-16 16:25:05.915: E/AndroidRuntime(23174): at android.app.ActivityThread.access$800(ActivityThread.java:163)
01-16 16:25:05.915: E/AndroidRuntime(23174): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1257)
01-16 16:25:05.915: E/AndroidRuntime(23174): at android.os.Handler.dispatchMessage(Handler.java:102)
01-16 16:25:05.915: E/AndroidRuntime(23174): at android.os.Looper.loop(Looper.java:157)
01-16 16:25:05.915: E/AndroidRuntime(23174): at android.app.ActivityThread.main(ActivityThread.java:5335)
01-16 16:25:05.915: E/AndroidRuntime(23174): at java.lang.reflect.Method.invokeNative(Native Method)
01-16 16:25:05.915: E/AndroidRuntime(23174): at java.lang.reflect.Method.invoke(Method.java:515)
01-16 16:25:05.915: E/AndroidRuntime(23174): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
01-16 16:25:05.915: E/AndroidRuntime(23174): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
01-16 16:25:05.915: E/AndroidRuntime(23174): …Run Code Online (Sandbox Code Playgroud) 尝试将页脚添加到包含两个列表的导航抽屉中.我没有这样做,我明白我想要的任何东西都应该封装在导航抽屉里
<LinearLayout
android:id="@+id/left_drawer_layout"
Run Code Online (Sandbox Code Playgroud)
我想添加一个不依赖于ListView滚动的底部布局.我尝试了不同版本的地方添加底部布局代码但没有任何反应.我需要额外的眼睛.谢谢.
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar”/>
<!-- Framelayout to display Fragments -->
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
<!-- Listview to display slider menu -->
<LinearLayout
android:id="@+id/left_drawer_layout"
android:layout_width="@dimen/navigation_drawer_max_width"
android:layout_height="match_parent"
android:layout_gravity="start"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@color/list_background">
<Button
android:id="@+id/refreshBtn"
android:layout_width="match_parent"
android:layout_height="48dp"
android:text="@string/refresh"
android:visibility="gone" />
<EditText
android:id="@+id/searchMenuTxt"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@color/list_background_pressed"
android:drawableLeft="@drawable/search_web"
android:drawablePadding="@dimen/activity_horizontal_margin"
android:drawableStart="@drawable/search_web"
android:focusable="false"
android:focusableInTouchMode="true"
android:hint="@string/search"
android:paddingLeft="8dp"
android:singleLine="true"
android:textColorHint="@android:color/darker_gray"
android:textSize="@dimen/text_size_14"></EditText>
<Button
android:id="@+id/clearBtn"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="right|center"
android:background="@drawable/mob_clear"
android:paddingRight="8dp"
android:visibility="invisible" />
</FrameLayout>
<LinearLayout …Run Code Online (Sandbox Code Playgroud) 即使在普通的android项目中无法识别java项目中的某些类,我是否可以在Android项目中使用Java项目?例如javax.xml包?
我认为有两种可能性:
但无论哪种方式,在我的Android应用程序中,那些在java中但在android中找不到的类是否可以正常?这会有用吗?谢谢.


我创建了JavaProject,然后将其作为参考导入到我的Android项目中.我得到了一个我没想到的错误,它无法识别我的Java项目中的.classes.
我正在开发一个松弛的应用程序(范围包括机器人和传入的webhooks).我可以将消息发送到已定义的频道,但我不知道如何停止使用"&channel ="参数,只是向收听频道发送消息.通过倾听我的意思是,当安装应用程序时,会询问用户在哪里发布(必须选择频道或dm).
String postUrl = "https://slack.com/api/chat.postMessage?token=" + botAccessToken + "&as_user=false&channel=%23community&text=testing&username=CommunityQ";
Run Code Online (Sandbox Code Playgroud)
任何提示都会有用.
即使测试通过而且不确定原因,我总是会收到错误.这次我检查如果视图为空则有一个空指针.
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mockView = mock(CollectionContract.View.class);
// Get a reference to the class under test
presenter = new CollectionPresenter(repository, mockView);
}
@Test(expected = NullPointerException.class)
public void testShowingUIWhenViewIsNull() {
presenter = new CollectionPresenter(repository, null);
verify(mockView).showAddCollection();
}
Run Code Online (Sandbox Code Playgroud)
这是堆栈跟踪:
Exception in thread "Thread-2" android.database.sqlite.SQLiteException: Cannot prepare statement, base error code: -92
at org.robolectric.shadows.ShadowSQLiteConnection$Connections.getSqliteException(ShadowSQLiteConnection.java:632)
at org.robolectric.shadows.ShadowSQLiteConnection$Connections.execute(ShadowSQLiteConnection.java:601)
at org.robolectric.shadows.ShadowSQLiteConnection$Connections.prepareStatement(ShadowSQLiteConnection.java:525)
at org.robolectric.shadows.ShadowSQLiteConnection.nativePrepareStatement(ShadowSQLiteConnection.java:93)
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(SQLiteConnection.java)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.__constructor__(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java)
at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java)
at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:994)
at android.database.DatabaseUtils.longForQuery(DatabaseUtils.java:811)
at android.database.sqlite.SQLiteDatabase.getVersion(SQLiteDatabase.java:864) …Run Code Online (Sandbox Code Playgroud) 我有一个@Service,我试图在单元测试中模拟它,但到目前为止我得到一个空值。在应用程序类中,我指定什么是 scanBasePackages。我必须以不同的方式做到这一点吗?谢谢。
\n\n这是我实现接口的服务类:
\n\n@Service\npublic class DeviceService implements DeviceServiceDao {\n\nprivate List<Device> devices;\n\n@Override\npublic List<Device> getDevices(long homeId) {\n return devices;\n}\n\n}\nRun Code Online (Sandbox Code Playgroud)\n\n这是我的单元测试。
\n\npublic class SmartHomeControllerTest {\n\n private RestTemplate restTemplate = new RestTemplate();\n private static final String BASE_URL = \xe2\x80\x9c..\xe2\x80\x9d;\n\n @Mock\n private DeviceService deviceService;\n\n@Test\npublic void getHomeRegisteredDevices() throws Exception {\n\n Device activeDevice = new DeviceBuilder()\n .getActiveDevice(true)\n .getName("Alexa")\n .getDeviceId(1)\n .getHomeId(1)\n .build();\n Device inativeDevice = new DeviceBuilder()\n .getInactiveDevice(false)\n .getName("Heater")\n .getDeviceId(2)\n .getHomeId(1)\n .build();\n\n UriComponentsBuilder builder = UriComponentsBuilder\n .fromUriString(BASE_URL + "/1/devices");\n\n List response = restTemplate.getForObject(builder.toUriString(), List.class);\n\n …Run Code Online (Sandbox Code Playgroud) 尝试以编程方式从Android连接到我的无线网络.
安全类型是WPA2,加密AES.
这不能按预期工作:
private WifiConfiguration saveWepConfig(String password, String networkSSID) {
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + networkSSID + "\"";
// conf.wepKeys[0] = "\"" + password + "\"";
conf.preSharedKey = "\"" + password + "\"";
conf.wepTxKeyIndex = 0;
conf.hiddenSSID = true;
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
return conf;
}
Run Code Online (Sandbox Code Playgroud)
我必须在这里加密密码吗?它只保存连接,不连接.
我似乎不明白是否可以将一项活动(包括)扩展到另一项活动中.我知道我可以膨胀布局xml,这可行,但我想知道我是否可以膨胀一项活动.例如,我有一个扩展Activity的类A和一个扩展ListActivity的另一个类B. 我可以在A级,我的B级包括和使用吗?这是我试过的:
A类:
LayoutInflater inflater = (LayoutInflater) MyActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// inflate list
BActivity list = new BActivity();
Run Code Online (Sandbox Code Playgroud)
B级:
public class BActivity extends ListActivity {
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
List<Model> models= new ArrayList<Model>();
models.add(new Model("John"));
models.add(new Model("Cage"));
setListAdapter(new MyAdapter(this, models));
ListView list = getListView();
}
}
Run Code Online (Sandbox Code Playgroud)
并在xml(类A xml)中:(我希望在哪里看到列表)
<view class="com.test.BActivity"
android:layout_width="wrap_content"
android:layout_height="wrap_content" > </view>
Run Code Online (Sandbox Code Playgroud)
所有这些都会引发错误:
膨胀类BActivity时出错
活动在清单中声明.
你知道我做错了什么吗?这不是扩充另一项活动的正确方法吗?我使用的是Android 2.2 api 8.谢谢你的时间.
将照片设置为ImageView不能像我期望的那样工作.它没有完全填满宽度.
这是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"
android:orientation="horizontal" >
<com.android.volley.toolbox.NetworkImageView
android:id="@+id/imageCell"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:layout_margin="5dp"
android:src="@drawable/unnamed" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我试过 android:layout_width="wrap_content"但仍然没有变化.
第一张图片未完整显示.第二个是处于portraid模式,没关系.谢谢.
我很好奇是否可以通过代码在Android中预设"未知来源"为真?使用非root设备可以实现吗?
Settings.Secure.putInt(getContentResolver(), Settings.Secure.INSTALL_NON_MARKET_APPS, 1);
Run Code Online (Sandbox Code Playgroud)
谢谢
android ×8
android-wifi ×1
java ×1
mocking ×1
mockito ×1
powermockito ×1
slack ×1
slack-api ×1
spring-boot ×1
xml ×1