能否将Android的API改写成Java版供PC客户端程序调用?

山有木兮卿有意_ 2015-03-18 03:47:01
我想用Java语言做一个PC客户端,需要用到某网络运营公司的服务器,但是该公司只向外提供了Android的接口,并将接口打包成了jar文件,我将其反编译得到Java文件,但其中调用了许多Android的包,我想将该Android接口翻译成Java版的,供我的PC客户端程序调用。请问这样可不可以?为什么?另外,能否给予我一定的帮助?比如在Android类与Java类的对应方面。
...全文
250 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 6 楼 Android_iPhone 的回复:
我这么理解行吗?
你有别人的Android的API,你自己有办法做出来Android版和PC版的程序,但是PC版调用Android的API比较麻烦

那么问题转换为,你自己做个Android的程序,然后让这个程序在PC上跑起来不就可以了吗?
这个时候可以考虑使用Android Emulator BlueStacks
下载地址:http://www.bluestacks.com/

非要PC版直接调用Android的话,我感觉不太可能行得通
【除非限定很多功能,使用二者完全共通的部分,因为原来的API并不都是你做的,所以这个很难保证】


额,你的理解有一部分是对的,就是我想要做一个完完全全的PC版程序,而不是让Android版在PC上跑起来,那样儿的话时间上的开销实在是太大了,太慢了,而且程序性能不好。我希望能将Android的API改写成PC版的API。就是想用现有的Java的某些类替换掉原来API中的Android类。

想必你肯见过别人提供的Android的API,里面用了很多的android.*包,如下图所示:

我想将其中类似于红框中的Android包用Java的相应包替换,如果Java现有的包中没有对应的包可以替换,我就自己写一个,或者废弃掉那个功能。然后将我改写过的API用于我的PC程序中。

引用 6 楼 Android_iPhone 的回复:
我这么理解行吗?
你有别人的Android的API,你自己有办法做出来Android版和PC版的程序,但是PC版调用Android的API比较麻烦

那么问题转换为,你自己做个Android的程序,然后让这个程序在PC上跑起来不就可以了吗?
这个时候可以考虑使用Android Emulator BlueStacks
下载地址:http://www.bluestacks.com/

非要PC版直接调用Android的话,我感觉不太可能行得通
【除非限定很多功能,使用二者完全共通的部分,因为原来的API并不都是你做的,所以这个很难保证】


额,你的理解有一部分是对的,就是我想要做一个完完全全的PC版程序,而不是让Android版在PC上跑起来,那样儿的话时间上的开销实在是太大了,太慢了,而且程序性能不好。我希望能将Android的API改写成PC版的API。就是想用现有的Java的某些类替换掉原来API中的Android类。

想必你肯见过别人提供的Android的API,里面用了很多的android.*包,如下所示:
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.graphics.Bitmap;
import android.net.http.SslError;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Window;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import android.webkit.SslErrorHandler;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.FrameLayout;
import android.widget.FrameLayout.LayoutParams;
import android.widget.LinearLayout;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLDecoder;

我想将其中类似于android.webkit.SslErrorHandler;的包用Java的相应包替换,如果Java现有的包中没有对应的包可以替换,我就自己写一个,或者废弃掉那个功能。然后将我改写过的API用于我的PC程序中。
日知己所无 2015-03-21
  • 打赏
  • 举报
回复
我这么理解行吗? 你有别人的Android的API,你自己有办法做出来Android版和PC版的程序,但是PC版调用Android的API比较麻烦 那么问题转换为,你自己做个Android的程序,然后让这个程序在PC上跑起来不就可以了吗? 这个时候可以考虑使用Android Emulator BlueStacks 下载地址:http://www.bluestacks.com/ 非要PC版直接调用Android的话,我感觉不太可能行得通 【除非限定很多功能,使用二者完全共通的部分,因为原来的API并不都是你做的,所以这个很难保证】
  • 打赏
  • 举报
回复
引用 2 楼 crazypandariy 的回复:
既然是jar包,那么就可以直接调用撒。你还反编译干嘛呢?Android其实就是基于Java来的嘛
前提是这些Android包只有在Android系统下才能被引用,在PC系统下是不能被引用的吧?系统中不存在啊。
  • 打赏
  • 举报
回复
引用 1 楼 rui888 的回复:
你直接在pc 调用和android 一样的调用呢。
请问我在么在PC上调用Android的SDK中的包呢?这些包只有在Android系统中才存在,在PC上不存在的啊。
  • 打赏
  • 举报
回复
引用 2 楼 crazypandariy 的回复:
既然是jar包,那么就可以直接调用撒。你还反编译干嘛呢?Android其实就是基于Java来的嘛
不是啊,Android虽然是基于Java的,它只是使用了Java的语法和部分的Java包,Android系统有自己的包。我觉得在PC上是不能用的吧?因为它只存在于Android SDK中。所以,我需要将该网络运营公司提供的Android和它们公司对接的 API接口中涉及到Android包的部分用Java中的相关东西代替。请问您是不是没有从事过Android的开发?
疯狂熊猫人 2015-03-18
  • 打赏
  • 举报
回复
既然是jar包,那么就可以直接调用撒。你还反编译干嘛呢?Android其实就是基于Java来的嘛
tony4geek 2015-03-18
  • 打赏
  • 举报
回复
你直接在pc 调用和android 一样的调用呢。

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧