我的gradle文件中的此项:
androidTestCompile ('com.squareup.okhttp:mockwebserver:2.7.0')
Run Code Online (Sandbox Code Playgroud)
抛出错误:
Warning:Conflict with dependency 'com.squareup.okio:okio'. Resolved versions for app (1.8.0) and test app (1.6.0) differ. See http://g.co/androidstudio/app-test-app-conflict for details.
Run Code Online (Sandbox Code Playgroud)
我尝试注释掉gradle文件中的不同编译项,以找出哪个冲突,但是我找不到使用com.squareup.okio:okio的哪个。
更新:我能够通过运行获取依赖项:gradlew.bat app:dependencies> c:\ tmp \ output.txt
+--- com.squareup.retrofit2:retrofit:2.0.0 -> 2.1.0
| \--- com.squareup.okhttp3:okhttp:3.3.0
| \--- com.squareup.okio:okio:1.8.0
--- com.squareup.okhttp:mockwebserver:2.7.0
| +--- com.squareup.okhttp:okhttp:2.7.0
| | \--- com.squareup.okio:okio:1.6.0
Run Code Online (Sandbox Code Playgroud)
如您所见,改造2.0使用okhttp3,而okhttp3使用okio:1.8.0。另一方面,mockwebserver:2.7.0使用okhttp:2.7.0,后者使用okio:1.6.0。那么我该如何解决呢?
这是我的gradle文件的“ dependencies”部分中的条目:
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:24.2.1'
//retrofit
compile 'com.squareup.retrofit2:retrofit:2.0.0'
compile 'com.squareup.retrofit2:converter-gson:2.+'
compile 'com.squareup.retrofit2:adapter-rxjava:2.+'
compile 'com.squareup.retrofit2:retrofit-mock:2.+'
//recycler view
compile 'com.android.support:recyclerview-v7:+'
//picasso image caching
compile 'com.squareup.picasso:picasso:2.5.2'
//jackson parser
compile ( …Run Code Online (Sandbox Code Playgroud) 我有 2 个改装电话需要进行 A 和 B:
(A):返回一个ArrayList
(B): 获取(A) 的结果,它是一个ArrayList。(B) 遍历 ArrayList 并使用每个进行改造调用并将结果数据组合成最终的 ArrayList 发送给我的订阅者 onNext()
我在语法正确时遇到了麻烦......例如,我试图返回 arAllMedia,但我下面的代码希望我返回一个 Observable。
ServiceFactory.createRetrofitService().getUserFollowing(sessionMgr.getAuthToken())
.flatMap(new Func1<UserSelfFollows, Observable<? extends ArrayList<Media.MediaData>>>() {
@Override
public Observable<? extends ArrayList<Media.MediaData>> call(UserSelfFollows userSelfFollows) {
//make second requests based on response from First request to get all Users
ArrayList<Media.MediaData> arAllMedia = new ArrayList<>();
for(UserSelfFollows.UserDataFollows user : userSelfFollows.userdata){
Response <ResponseBody> response ;
Call <ResponseBody> call;
try {
call = ServiceFactory.createRetrofitService().getMediaOfUser(user.id,sessionMgr.getAuthToken());
response = call.execute();
}catch(IOException ex){
return Observable.error(ex);
}
if (response.isSuccessful()) {
try …Run Code Online (Sandbox Code Playgroud) 我在酒吧顶部有四个按钮(背景图像).我正在尝试做的是增加按钮之间的间距(因此它们分散在横条上)并将重力设置为center_horozontal.我在ImageButtons(okcancelbar_button_home)上尝试paddingLeft和paddingRight,但它似乎没有做任何事情.我想也许Image Buttons父母是关键,但我不知道该在那里设置什么.这是我的布局:
///////// main .xml //////////////////
<merge
xmlns:android="http://schemas.android.com/apk/res/android">
<com.onesix.test.OkCancelBar
android:layout_width="fill_parent"
android:layout_height="60dip"
android:layout_gravity="top"
android:paddingTop="0dip"
android:gravity="center_horizontal"
android:background="@drawable/header_bkgrnd"
/>
<!--"#AA000000"-->
</merge>
////////// okCancelBar ////////////////
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<include
layout="@layout/okcancelbar_button_home"
android:id="@+id/okcancelbar_home"
android:layout_height="90dip" />
<include
layout="@layout/okcancelbar_button_lists"
android:id="@+id/okcancelbar_lists"
android:layout_height="90dip"
/>
<include
layout="@layout/okcancelbar_button_calendar"
android:id="@+id/okcancelbar_calendar"
android:layout_height="90dip"
/>
<include
layout="@layout/okcancelbar_button_search"
android:id="@+id/okcancelbar_search"
android:layout_height="90dip"
/>
</merge>
////////////// okcancelbar_button_home ////////////////
<?xml version="1.0" encoding="utf-8"?>
<ImageButton
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/but_home"
android:layout_width="75dip"
android:layout_height="60dip"
android:layout_alignParentBottom="true"
android:background="@android:color/transparent"
android:src="@drawable/button_menu_states_home"
android:paddingLeft="7dip"
android:paddingRight="7dip"
/>
////////////button_menu_states_home/////////
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/menu_button_home1_over" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/menu_button_home1_over" /> <!-- focused …Run Code Online (Sandbox Code Playgroud) 有没有办法在活动之间没有过渡?换句话说,没有褪色或滑出但瞬间改变.因此,例如,如果在活动1和活动2中具有相同的按钮栏,则看起来按钮栏从未更改过.
谢谢
好的我有一个Button,它使用一个选择器作为它的背景.我将宽度和高度设置为wrap_content.内容是我设置的一些文字.我希望按钮在文本周围像原生按钮一样大小,但按钮很大,基本上看起来和它的源图像一样大.按钮图像是九个补丁图像,按钮xml在相对布局内.我在这里错过了什么?
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/holo_btn" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/holo_btn" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/holo_btn" />
<item android:drawable="@drawable/holo_btn" />
</selector>
<Button android:id="@+id/btnTaskPriorityLow"
android:paddingLeft="@dimen/paddingSmallButton" android:paddingRight="@dimen/paddingSmallButton"
android:text="@string/strTaskPriorityLow"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/textViewCalColor"
android:layout_toRightOf="@+id/textViewPriority"
android:layout_marginTop="@dimen/marginTopAppt"
android:background="@drawable/button_holo_sel"/>
Run Code Online (Sandbox Code Playgroud) 我将应用程序带回到视野中,一段时间后它在后台闲置,我注意到它很慢,然后才响应.那么我检查了logcat,我看到
"557296字节分配的内存不足".在我的应用程序空闲之前我做的最后一件事是在我的数据库中的几个表中添加几条记录.但是,我的logcat中的最后一行是在内存错误之前与位图有关吗?..."android.graphics.Bitmap.createBitmap".我不知道如何开始追踪这一点.
11-07 20:32:22.940: D/PMS(599): acquireWL(42e31570): PARTIAL_WAKE_LOCK CM_static 0x1 13857 10166
11-07 20:32:22.950: D/PMS(599): releaseWL(42e31570): PARTIAL_WAKE_LOCK CM_static 0x1
11-07 20:32:23.060: E/dalvikvm(16038): can't open /data/misc/app_oom.hprof: Permission denied
11-07 20:32:23.100: E/dalvikvm-heap(16038): hprofDumpHeap failed with result: -1
11-07 20:32:23.100: E/dalvikvm-heap(16038): After hprofDumpHeap for process
11-07 20:32:23.100: E/dalvikvm(16038): Out of memory: Heap Size=196608KB, Allocated=188196KB, Limit=196608KB, Proc Limit=196608KB
11-07 20:32:23.100: E/dalvikvm(16038): Extra info: Footprint=196512KB, Allowed Footprint=196608KB, Trimmed=2828KB
11-07 20:32:23.200: I/dalvikvm-heap(16038): Clamp target GC heap from 193.013MB to 192.000MB
11-07 20:32:23.200: I/dalvikvm-heap(16038): Forcing collection of SoftReferences …Run Code Online (Sandbox Code Playgroud) 我知道如何替换字符串中的所有非字母数字字符,但是如何从字符串的开头和结尾开始呢?
我需要这个字符串:
"theString"
成为:
theString
替换字符串中的所有非字母数字字符:
s = s.replaceAll("[^a-zA-Z0-9\\s]", "");
Run Code Online (Sandbox Code Playgroud) 我没有看到 \xe2\x80\x9cNo Chart data available\xe2\x80\x9d 文本的任何设置方法。如何使文本变大/变小?
\n我需要创建一个observable,其中依次运行2个基于改进的调用块.我知道我可以在一个Observer调用中运行第二个改装调用,但它会非常混乱.我将Observable代码放在与调用者不同的类中,它返回一个Observable.我想将第一个调用的结果传递给第二个调用,然后在第二个调用完成后将一个Observable传递给调用类.(我使用的是Java 7而不是8)
public class GetFollowing {
public Observable< ArrayList<Media> > init() {
return Observable.create(
new Observable.OnSubscribe< ArrayList<Media> >() {
@Override
public void call(Subscriber<? super ArrayList<Media> > subscriber) {
...
Run Code Online (Sandbox Code Playgroud)
我还需要将一个不同的类型传递回调用类,而不是传递给第二个改装调用.我一直在阅读有关map flatMap和concat的内容,但我似乎无法弄清楚如何在我这里使用它们.
UPDATE
我想出了这个,不确定它是否最优雅,或者它是否会起作用......但如果它确实有效,有没有办法将第一个可观察的结果传递给第二个?如果第一个观察失败,我将如何处理问题?
Observable< ArrayList<Media> > test;
Observable.concat(
Observable.create(
new Observable.OnSubscribe< ArrayList<User> >() {
@Override
public void call(Subscriber<? super ArrayList<User> > subscriber) {
}
}
),
test = Observable.create(
new Observable.OnSubscribe< ArrayList<Media> >() {
@Override
public void call(Subscriber<? super ArrayList<Media> > subscriber) {
}
}
)
);
return test;
Run Code Online (Sandbox Code Playgroud) 我最近升级到 Android Studio 4.0.1 并且我的构建不断失败并显示以下消息:
不推荐使用选项“android.databinding.enableV2”。当前默认值为“真”。它已从当前版本的 Android Gradle 插件中删除。删除了数据绑定 v1。
我尝试添加:
android.enableExperimentalFeatureDatabinding = false
android.databinding.enableV2=false
Run Code Online (Sandbox Code Playgroud)
到 gradle.properties 和 gradle-wrapper.properties。但都没有解决问题。是否有必须从 build.gradle 添加或删除的内容?
android-build build.gradle android-databinding android-studio-4.0
android ×6
button ×2
java ×2
rx-java ×2
allocation ×1
alphanumeric ×1
build.gradle ×1
byte ×1
gradle ×1
observable ×1
regex ×1
replace ×1
retrofit2 ×1
size ×1
sizing ×1
string ×1
transition ×1