大发pk10_pk10破解_大发pk10破解 - 大发pk10,pk10破解,大发pk10破解为网友提供全面快捷权威的综合大发pk10,pk10破解,大发pk10破解信息报道,包括新闻、国内国际要闻、体育娱乐新闻、社会生活新闻、博览会新闻、房产、汽车、健康女性、IT等多类服务

Xamarin.Android 绑定友盟社会化分享组件

  • 时间:
  • 浏览:0

Xamarin.Android 绑定友盟社会化分享组件

2017-04-27 13:13  JoesWeek  阅读(...)  评论()  编辑 收藏

Xamarin.Android 绑定友盟社会化分享组件

最近在开发博客园Android App的已经 需用用到友盟社会化分享组件,在github上搜了一下都没有找到最新版本绑定好的项目,就当时人动手来绑定有一1个多最新版本的友盟社会化分享组件(文章发布时的最新版为v6.4.3)。

下载友盟Android版SDK

友盟社会化分享组件 v6.4.3

本文只使用到微信,QQ,新浪微博,故只下载了精简版

创建绑定项目

创建步骤如图所示:



加带友盟SDK的jar包到绑定项目的Jars文件夹下

加带下载的友盟SDK项目中main,platforms,shareboard,shareview文件夹中的jar包到绑定项目的Jars文件夹下,如图示:



修改所有jar包的属性EmbeddedJar,如图示:

生成项目

完整版修改好已经 ,生成项目,突然出现一大堆错误,先别急,看一下都在些哪几种错误。

好了,双击第有一1个多错误,打开后发现UMImageMark类竟然继承的是当时人,这应该许多错误的源头了。

许多让让我们 把UMImageMark继承的类改为Java.Lang.Object试试,ok,错误消失了。

许多许多改是没有用的,可能性这可能性是生成好的代码了,要改就能够在源肩头更改了,为什么我么我么办呢? 打开Transforms文件夹下的Metadata.xml文件,在这里编写修改的代码就行了。

许多为什么我么我么修改UMImageMark类的继承类呢?按下面的最好的妙招加带一行代码就搞定了。

<attr path="/api/package[@name='com.umeng.social.tool']/class[@name='UMImageMark']" name="extends">Java.Lang.Object</attr>

许多再生成一下,看有没有效果。

里面的错误没有了,说明成功了。许多还是有好多错误。接下来看下有一1个多错误。双击打开第有一1个多错误,发现CancelEventArgs类是有一1个多分布类再有一1个多文件中处于,google一采集现是可能性IUMShareListener接口和IUMAuthListener接口处于相同的最好的妙招,很多很多很多很多有绑定的已经 会生成相同的类。好了,知道了原困就好办了,但会 把其蕴藏一1个多接口中的最好的妙招名字改一下就好了,代码如下:

<attr path="/api/package[@name='com.umeng.socialize']/interface[@name='UMAuthListener']/method[@name='onCancel']" name="managedName">OnAuthCancel</attr> <attr path="/api/package[@name='com.umeng.socialize']/interface[@name='UMAuthListener']/method[@name='onComplete']" name="managedName">OnAuthComplete</attr> <attr path="/api/package[@name='com.umeng.socialize']/interface[@name='UMAuthListener']/method[@name='onError']" name="managedName">OnAuthError</attr> <attr path="/api/package[@name='com.umeng.socialize']/interface[@name='UMAuthListener']/method[@name='onStart']" name="managedName">OnAuthStart</attr>

重新生成一下。

Good,成功了,只剩下5个错误了。

下有一1个多错误一看就知道是可能性修饰符的原困造成的,把继承类的你这名 最好的妙招修饰符protected改成public就可不还可不还可以了,代码:

<attr path="/api/package[@name='com.umeng.socialize.sina.params']/class[@name='BrowserRequestParamBase']/method[@name='onCreateRequestParamBundle' and count(parameter)=1 and parameter[1][@type='android.os.Bundle']]" name="visibility">public</attr>

重新生成一下。

好了,还有有一1个多错误。错误提示说“UMShareAPI.InitThread”不实现继承的抽象成员“QueuedWork.UMAsyncTask.DoInBackground()”,打开发现可能性有了DoInBackground最好的妙招了,许多没有override关键字修饰。

为什么我么我么办呢,能够新建有一1个多UMShareAPI分布类来重写你这名 最好的妙招了。在Additions文件夹下新建有一1个多UMShareAPI类,注意修改命名空间为Com.Umeng.Socialize,许多重写DoInBackground最好的妙招。可能性许多可能性有了有一1个多叫DoInBackground的最好的妙招,很多很多很多很多有需用把许多的最好的妙招名修改成DoInBackgrounds就搞定了,代码:

namespace Com.Umeng.Socialize
{
    public partial class UMShareAPI
    {
        public partial class InitThread : global::Com.Umeng.Socialize.Common.QueuedWork.UMAsyncTask
        {
            protected override Java.Lang.Object DoInBackground()
            {
                return DoInBackgrounds();
            }
        }
    }
}
  <attr path="/api/package[@name='com.umeng.socialize']/class[@name='UMShareAPI.InitThread']/method[@name='doInBackground' and count(parameter)=0]"  name="name">DoInBackgrounds</attr>

保存后重新生成一下,搞定了。

最后有一1个多错误是类名和属性名冲突了,修改一下类名就行了。

<attr path="/api/package[@name='com.umeng.socialize.utils']/class[@name='Log']/field[@name='LOG']" name="name">Logs</attr>

重新生成。搞定。大功告成。

========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========

最后

下载地址

Github

你这名 项目中是我在使用Xamarin.Android的已经 当时人用到的绑定库,蕴藏了友盟统计,友盟社会化分享,讯飞版本自动更新。

  • 分类 Xamarin.Android
  • 标签 C# , Xamarin.Android , 友盟分享