小编iag*_*een的帖子

Facebook 3.0 Android第二次登录尝试返回"会话状态关闭"

我正在尝试将Facebook集成到我的Android应用程序中.使用Facebook登录按钮,我尝试登录.当我第一次安装应用程序时,它工作正常并成功登录.当我使用该按钮注销,然后再次尝试登录时,它会显示权限对话框,但SessionState返回状态已关闭.有什么建议?这是我的代码

    public class LoginActivity extends FragmentActivity{

    //  private Login login;
        private boolean isResumed = false;
        private BirthDayComp app;
        private int Login=0;
        private int LogOut=1;
    private int Count=LogOut+1;
    private boolean loged= false;
    private Fragment[] fragments = new Fragment[Count];
     private UiLifecycleHelper uiHelper;
        private Session.StatusCallback callback = new Session.StatusCallback() {
            @Override
            public void call(Session session, SessionState state, Exception exception) {
                onSessionStateChange(session, state, exception);
            }
        };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.login_fragment);
        uiHelper = new UiLifecycleHelper(this, callback);
            uiHelper.onCreate(savedInstanceState);

            FragmentManager fm …
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-graph-api facebook-android-sdk android-facebook

25
推荐指数
1
解决办法
1262
查看次数

google gson将LinkedTreeMap类强制转换为myclass

我以前曾经问过这个问题.由于我在java和android的新手技巧.一个多星期以来,我无法解决这个问题.

我的一个朋友和我正在开发一个Android项目是有这样的事情.

这件事最奇怪的部分是,它发生在我从谷歌游戏商店下载和测试时.不是从本地android studio安装或调试模式.

这可能是什么问题,或者这个完全错误的返回列表?我的朋友说服这段代码正确返回但是从Play商店安装它始终是一个错误.

请建议我在哪里继续挖掘?

@Override
public void promiseMethod(JSONObject object) {
    if (object != null) {

        if (object.has(DO_SERVICES)) {
            vehicleDetails = new ArrayList < Object[] > (1);
            List < String > vehicleNoList = new ArrayList < String > (1);
            List < String > serviceList = new ArrayList < String > (1);
            try {
                Gson gson = new Gson();
                JSONObject jsonObj = new JSONObject(object.get(DO_SERVICES)
                    .toString());
                servDto = gson.fromJson(jsonObj.toString(),
                    ServiceDto.class);


                if (servDto.getServiceDto() instanceof List) {

                    List < DoServiceDto > doServiceList = …
Run Code Online (Sandbox Code Playgroud)

java android gson

25
推荐指数
4
解决办法
4万
查看次数

使用改进无法正常工作从Android通过Rest Web服务登录

我正在使用Retrofit 2制作一个Android应用程序.我的REST Api都是用Liferay编写的.现在在Liferay中,我所看到的是,访问我们需要首先进行身份验证的Web服务.所以我已经这样认证了

http://test:q1w2e3r4@192.168.0.110:8080/liferay-portlet/api/secure/jsonws/
Run Code Online (Sandbox Code Playgroud)

Liferay有自己的用户身份验证方法,我们已经覆盖了.我检查了Postman的Web服务调用工作正常.

URL:http://test:q1w2e3r4@192.168.0.110:8080/liferay-portlet/api/secure/jsonws/customuserauthentication/authenticate-by-user-name
Run Code Online (Sandbox Code Playgroud)

形式编码的值

companyId:10154
screenName:xyz
password:xyz
active:true
Run Code Online (Sandbox Code Playgroud)

如果我把它放在邮递员中,它会正确地获取json响应.

现在,当我从我的Android代码中调用相同的内容时,我得到一个响应"未经授权".

我的改造服务

public interface LoginApi {    
    @FormUrlEncoded
    @POST("/liferay-portlet/api/secure/jsonws/customuserauthentication/authenticate-by-user-name")
    Call<User> login(@Field("companyId")long companyId,@Field("screenName")String screenName,@Field("password")String password,@Field("active")boolean active);
}
Run Code Online (Sandbox Code Playgroud)

我的RestApiManager类(此类用于调用服务接口并创建改造构建器)

public class RestApiManager {

    private LoginApi loginApi;

    public LoginApi login() {
        if (loginApi==null) {
            GsonBuilder gson=new GsonBuilder();
            gson.registerTypeAdapter(String.class, new StringDeserializer());
            Retrofit retrofit=new Retrofit.Builder()
                .baseUrl("http://test:q1w2e3r4@192.168.0.110:8080")
                .addConverterFactory(GsonConverterFactory.create())
                .build();
            loginApi=retrofit.create(LoginApi.class);
    }
    return loginApi;
}
Run Code Online (Sandbox Code Playgroud)

调用RestApiManager

Call<User> callUser=restApiManager.login().login(loginData.getCompanyId(),loginData.getScreenName(),loginData.getPassword(),loginData.isActive());
callUser.enqueue(new Callback<User>() {
    @Override
    public void onResponse(Response<User> response, Retrofit retrofit) {
        Log.d("Login","Login Response:"+response.body());
    }

    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

rest android liferay-6 retrofit

14
推荐指数
2
解决办法
2183
查看次数

AdjustResize with animation

我在清单中使用了android:windowSoftInputMode ="adjustResize"来防止键盘隐藏活动按钮.它可以工作,但是当键盘打开时,我的按钮会向上移动.它有点跳跃,我想知道 - 我可以有任何动画来顺利过渡吗?

<activity
        android:name=".Activity"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustResize">
</activity>
Run Code Online (Sandbox Code Playgroud)

android android-animation android-softkeyboard

13
推荐指数
1
解决办法
3115
查看次数

是否可以使用Android Animator为DialogFragment条目设置动画?

我有一个DialogFragment,我show()当用户点击我的应用程序的按钮.

我想设置一个动画,以便DialogFragment在它启动时进行Z-axix旋转(即3d卡翻转动画).

当显示时,我成功地使用了windowAnimationStyle以下样式来执行简单的动画(使用View Animation框架)DialogFragment:

<style name="windowAnimationCardFlip" parent="@android:style/Animation.Dialog">
        <item name="android:windowEnterAnimation">@anim/card_flip_left_in</item>
        <item name="android:windowExitAnimation">@anim/card_flip_left_out</item>
 </style>
Run Code Online (Sandbox Code Playgroud)

问题是View Animation框架(据我所知)非常有限,而且我能做的唯一旋转(至少在xml上)是2D XY旋转(我想要一个"3D" "z轴旋转).

我尝试使用Property Animation框架(特别是一个用XML编写的Object Animator),但是,虽然我能够在加载简单时实现效果,Fragments官方android教程中所述,当我尝试将该XML ObjectAnimator应用于windowEnterAnimation属性,没有任何反应.

那么,我想知道会发生什么?是否可以使用ObjectAnimator为windowEntry事件设置动画?如果没有,还有其他解决方案吗?

android android-animation objectanimator

9
推荐指数
0
解决办法
2286
查看次数

UnknownHostException:名称或服务未知

我正在尝试使用com.squareup.okhttp中的OkHttpClient从API返回一些数据.我遇到了一些我最终能够克服的错误,但是我无法通过这个主机异常错误,这里的任何内容似乎都不足以让我的情况能够解决.

下面是我尝试的代码以及它的输出,如果有人知道如何克服错误我会很感激.

public void connect() {         
    OkHttpClient client = new OkHttpClient();

    com.squareup.okhttp.Request request = new com.squareup.okhttp.Request.Builder()
    .url("https://socialweb-analytics.lcloud.com/api/public/reports/jobs?companyKey=ato")
    .get()
    .addHeader("authorization", "Basic c2RidXNpbmVzc2FuYWx5dGljc0BhdG8uZ292LmF1OkFuYWx5dGljezEh")
    .addHeader("cache-control", "no-cache")
    .addHeader("postman-token", "65ef5553-77b5-053f-9c01-4fdf76bdc92f")
    .build();

    System.out.println(request.toString());

    try {
        Response response = client.newCall(request).execute();
        System.out.println(response);
    } catch (IOException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

OUTPUT

Request{method=GET, url=https://socialweb-analytics.lcloud.com/api/public/reports/jobs?companyKey=ato, tag=null}
java.net.UnknownHostException: socialweb-analytics.lcloud.com: Name or service not known
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:922)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1314)
    at java.net.InetAddress.getAllByName0(InetAddress.java:1267)
    at java.net.InetAddress.getAllByName(InetAddress.java:1183)
    at java.net.InetAddress.getAllByName(InetAddress.java:1119)
    at com.squareup.okhttp.internal.Network$1.resolveInetAddresses(Network.java:29)
    at com.squareup.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:187)
    at com.squareup.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:156)
    at com.squareup.okhttp.internal.http.RouteSelector.next(RouteSelector.java:98)
    at com.squareup.okhttp.internal.http.HttpEngine.createNextConnection(HttpEngine.java:344)
    at com.squareup.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:327)
    at …
Run Code Online (Sandbox Code Playgroud)

java host exception okhttp

8
推荐指数
3
解决办法
3万
查看次数

如何使用Picasso为Marker添加图标?

我想使用Picasso来检索Bitmap图像以用作标记图标,但我不知道该怎么做.如果我使用Picasso将图像插入图像视图,我知道我可以使用:

 Picasso.with(MainActivity.this).load(URL).into(photo_imageview);
Run Code Online (Sandbox Code Playgroud)

当然,如果我把它传递给它,这将不起作用 .icon()

有没有一种简单的方法来实现这一目标?

感谢有人看看这个!

android google-maps picasso

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

如何使用EventBus使用Call Type

Activity/Fragment当我从服务器得到响应时,我正在使用EventBus通知.到目前为止一切都运行良好,但是当我在同一个Fragment或两个网络中使用两个网络呼叫时会出现问题Activity.问题是onEvent(String response)从服务器获取两个响应的相同方法.反应call 1不同于call 2.

我提出了一个解决方案 - 我添加CallTypeNetworkReqest但我无法通知活动/片段有关网络调用,因为post()只需要一个参数.

这是相关的代码 -

public class NetworkRequest {
    EventBus eventBus = EventBus.getDefault();

    public void stringParamRequest(String url, final Map<String, String> params,String callType) {
        StringRequest jsonObjRequest = new StringRequest(Request.Method.POST, url,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        eventBus.post(response);
                    }
                }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                VolleyLog.d("volley", "Error: " + error.getMessage());
                eventBus.post(error);
            }
        }) { …
Run Code Online (Sandbox Code Playgroud)

android web-services event-bus android-fragments

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

Android Retrofit预计BEGIN_OBJECT但是STRING在第1行第1列路径$

我在我的Android应用程序中使用okhttp Retrofit来发出网络请求.在其中一个请求中,我收到此错误:

com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为BEGIN_OBJECT但在第1行第1行为STRING路径$

我在日志中看到201响应,但Retrofit会抛出此错误.以下是我的代码.

signup(signupParams, new Callback<Member>() {
            @Override
            public void success(Member member, Response response) {
                if (member != null) {
                    UserAccount userAccount = new UserAccount(member);
                    userAccount.save();
            }

            @Override
            public void failure(RetrofitError re) {
                BusProvider.post(new SignupFailedEvent(re, email));
            }
        });
Run Code Online (Sandbox Code Playgroud)

signupParams值是 -

{"emailAddress":"test@gmail.com","password":"tester123","userSource":"APH"}
Run Code Online (Sandbox Code Playgroud)

我用jsonLint测试了这个json,它是一个有效的json.这是我的会员类,理想情况下应该是回应.

public class Member {
    public String emailAddress;
    public String token;
    public long id;
    public String firstName;
    public String lastName;
}
Run Code Online (Sandbox Code Playgroud)

响应的示例应该是这样的:

{
    "emailAddress": "test@gmail.com",
    "id": 1437811,
    "token": "sdhshdghsdhhsdbcjhbsjdhc",
    "firstName": "John",
    "lastName": "Smith"
}
Run Code Online (Sandbox Code Playgroud)

android json gson retrofit okhttp

6
推荐指数
1
解决办法
8461
查看次数

我可以将c ++库包装到移动IOS/Android的Adobe Air原生扩展中吗?

我可以将C++库包装到Adobe Air原生扩展IOS/Android吗?

我有一个由第三方编写的C++库.我想将该库用于移动设备的adobe air原生扩展?我能做到吗?如果是这样,我在哪里可以找到一些准则?

c++ air adobe android ios

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