小编Boo*_*thi的帖子

RETROFIT POST Realm对象

我有以下RETROFIT API:

@POST("/payments")    
Observable<Response> saveCreditCard(@Body CreditCard creditCard)
Run Code Online (Sandbox Code Playgroud)

CreditCard是一个RealmObject.

当我尝试使用我的API方法时:

CreditCard card = realm.createObject(CreditCard.class);
card.setWhateverField(...);
...
mApi.saveCreditCard(card)
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(...);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

> retrofit.RetrofitError: com.fasterxml.jackson.databind.JsonMappingException: Realm access from incorrect thread. Realm objects can only be accessed on the thread they where created.
System.err? at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:400)
System.err? at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
System.err? at retrofit.RestAdapter$RestHandler$1.invoke(RestAdapter.java:265)
System.err? at retrofit.RxSupport$2.run(RxSupport.java:55)
System.err? at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
System.err? at java.util.concurrent.FutureTask.run(FutureTask.java:237)
System.err? at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
System.err? at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
System.err? at retrofit.Platform$Android$2$1.run(Platform.java:142)
System.err? at java.lang.Thread.run(Thread.java:818)
System.err? Caused by: java.lang.AssertionError: com.fasterxml.jackson.databind.JsonMappingException: Realm access …
Run Code Online (Sandbox Code Playgroud)

android realm retrofit

12
推荐指数
1
解决办法
1806
查看次数

如何使用canvas可点击制作位图?

如何使位图创建可点击?下面是我用于使用canvas创建位图的代码.

 public class DrawView extends View implements OnClickListener
{
    public DrawView(Context context)
    {
        super(context);
        paint = new Paint();
        image = BitmapFactory.decodeResource(getResources(), R.drawable.andmrktsmall);
    }

    @Override
    protected void onDraw(Canvas canvas)
    {
        super.onDraw(canvas);
        int canWidth = canvas.getWidth();
        int canHeight = canvas.getHeight();
        int width = (canWidth - 200) / 2;
        int height = (canHeight - 100) / 2;
        Bitmap indexcanvas = Bitmap.createScaledBitmap(image, 200, 100, true);
        canvas.drawBitmap(indexcanvas, width, height, paint);
        this.setBackgroundColor(Color.YELLOW);

    }

    @Override
    public void onClick(View v)
    {
        Toast.makeText(context, "View is clicked", 1).show();
    }

}
Run Code Online (Sandbox Code Playgroud)

android android-canvas

7
推荐指数
2
解决办法
1万
查看次数

无法调用注释处理器 - 在 Weblogic 12.2.1.2.0 中部署时

我正在将一个 java 项目从 weblogic 8.1 迁移到 weblogic 12c。

根据oracle文档,我已经转换了以下内容。

 1. Servicegen converted to jwsc task
 2. deployment descriptor has been modified
 3. Below annotations added in service implementation file

  @WebService
  @SoapBinding
  @SoapMessageHandler
Run Code Online (Sandbox Code Playgroud)

在所有上述更改确实生成了war文件并部署在weblogic 12c服务器中之后,它会抛出如下错误

Unable to invoke annotation processor

<BEA-160228> App merge failed your application
weblogic.utils.compiler.ToolFailureException: unable to invoke annotation processor
Run Code Online (Sandbox Code Playgroud)

代码 :

package com.tutorialspoint.stateless;

import com.tutorialspoint.entity.Book;
import java.util.List;
import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

@Stateless
@WebService(serviceName="LibraryService")
public class LibraryPersistentBean implements LibraryPersistentBeanRemote {
    
   public LibraryPersistentBean() { …
Run Code Online (Sandbox Code Playgroud)

java ejb weblogic weblogic8.x weblogic12c

5
推荐指数
1
解决办法
672
查看次数

无法在项目中找到属性

我正在尝试使用Grgit插件,我想Grgit从一个单独的gradle文件中引用.

Gradle能够Grgit在我尝试这样的时候找到它:

./build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.10.+'
        classpath 'org.ajoberstar:gradle-git:0.8.+'
    }
}

import org.ajoberstar.grgit.*

def repo = Grgit.open(".")
Run Code Online (Sandbox Code Playgroud)

但是,当我将最后两行移动到一个单独的行file.gradle(如下所示)时,它不起作用:

./build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.10.+'
        classpath 'org.ajoberstar:gradle-git:0.8.+'
    }
}

apply from: 'file.gradle'
Run Code Online (Sandbox Code Playgroud)

./file.gradle:

import org.ajoberstar.grgit.*

def repo = Grgit.open(".")
Run Code Online (Sandbox Code Playgroud)

显示错误:

Could not find property 'Grgit' on root project 'MyProject'.
Run Code Online (Sandbox Code Playgroud)

我如何Grgit在单独的文件中使用?

android gradle android-studio

2
推荐指数
1
解决办法
2474
查看次数