Geo*_*ung 3 java eclipse android thrift
我是Android开发的新手,想要在我的网络上使用thrift服务器的thrift客户端创建一个应用程序.我已经获得了thrift定义文件和thrift编译器生成的java代码.
我该如何开始?如何将thrift库添加到我的项目中?我是否需要自己编译,如果是,我应该如何实现这个与Android兼容?
我可以直接使用与此类似的自动生成的功能
public void getProduct(int productID, org.apache.thrift.async.AsyncMethodCallback resultHandler)
Run Code Online (Sandbox Code Playgroud)
对我的服务进行异步调用,以便我遵循android最佳实践?或者使用此功能以任何方式阻止我的应用程序或是否有另一种方式在Android上优先于此?
我使用当前版本的谷歌ADT(eclipse).我的应用程序需要在android 4+设备上运行(我将minSdkVersion设置为15).
很抱歉打算回答一个老问题.截至2016年2月,有一个特定于Android的Thrift编译器和客户端:https://github.com/Microsoft/thrifty.
它生成的类使用尽可能少的方法(比Apache实现小得多),并且生成的客户端默认是异步的.
小智 7
是的,你需要自己为Android构建thrift-lib.Android拥有自己的httpcore,没有消费方法.在这里你可以找到如何更改thrift-library:here指令 之后只需将jar文件添加到libs-folder并将其添加到build-path.
例
THttpClient hclient = new THttpClient("your/endpoint/url");
TProtocol protocol = new TBinaryProtocol(hclient); // it depends on your data-format
Service.Client client = new Service.Client(protocol);
Product product = client.getProduct(int productID);
Run Code Online (Sandbox Code Playgroud)你需要将其作为Android AsyncTask执行:AsyncTask | Android开发者