请大神指教!shareSDK第三方登录,返回了用户登录信息,但是一直报空指针异常,可是有返回值

这是我的代码,先点击一个图片按钮,然后跳转到授权界面,当授权完成的时候,再把值返回在这个类里面,但是运行的时候一直报这句left_menu_fragment_textview.setText(userInfo.getUserName());是空指针异常,这是怎么回事

public class LeftMenuFragment extends BaseFragment {
private ImageButton left_menu_fragment_imagebutton;
private ListView left_menu_fragment_listview;
private String[] itemname = new String[] { "设置文字大小", "收藏", "检查更新" };
/************************************ 后面增加的方法 **********************************************/
private OnLoginListener signupListener;
private Platform platform;

private String picturePath;
private UserInfo userInfo = new UserInfo();
/** 加载用户icon */
private static final int LOAD_USER_ICON = 2;
/** 图片名字 */
private static final String PICTURE_NAME = "userIcon.jpg";
private TextView left_menu_fragment_textview;

/**********************************************************************************/

@Override
public View initview() {
    View view = View.inflate(mActivity, R.layout.left_menu_fragment, null);

    left_menu_fragment_imagebutton = (ImageButton) view
            .findViewById(R.id.left_menu_fragment_imagebutton);
    left_menu_fragment_listview = (ListView) view
            .findViewById(R.id.left_menu_fragment_listview);
    left_menu_fragment_textview = (TextView) view
            .findViewById(R.id.left_menu_fragment_textview);
    left_menu_fragment_listview.setAdapter(new myListAdapter());
    left_menu_fragment_imagebutton
            .setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    Log.i("pan", "已经点击跳转界面");
                    Intent intent = new Intent();
                    intent.setClass(mActivity,
                            AuthorizationLoginActivity.class);
                    mActivity.startActivity(intent);

                }
            });
    return view;
}

/**
 * 初始化数据
 */
@Override
public void initData() {

    if (platform != null) {
        userInfo.setUserIcon(platform.getDb().getUserIcon());
        userInfo.setUserName(platform.getDb().getUserName());

        Log.i("pan", "leftMenuFragment中的username" + userInfo.getUserName());
        Log.i("pan", "leftMenuFragment中的icon" + userInfo.getUserIcon());

        if (userInfo.getUserName() != null) {
            Log.i("pan", "leftMenuFragment中的username222222" + userInfo.getUserName());

            left_menu_fragment_textview.setText(userInfo.getUserName());
        }
    }
    if (!TextUtils.isEmpty(userInfo.getUserIcon())) {
        Log.i("pan", "执行进入了获取icon方法吗");
        loadIcon();
    }
    // 初始化照片保存地址
    if (Environment.getExternalStorageState().equals(
            Environment.MEDIA_MOUNTED)) {
        String thumPicture = Environment.getExternalStorageDirectory()
                .getAbsolutePath()
                + "/"
                + mActivity.getPackageName()
                + "/download";
        File pictureParent = new File(thumPicture);
        File pictureFile = new File(pictureParent, PICTURE_NAME);

        if (!pictureParent.exists()) {
            pictureParent.mkdirs();
        }
        try {
            if (!pictureFile.exists()) {
                pictureFile.createNewFile();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        picturePath = pictureFile.getAbsolutePath();
        Log.e("picturePath ==>>", picturePath);
    } else {
        Log.e("change user icon ==>>", "there is not sdcard!");
    }

    // Bundle bundle = mActivity.getIntent().getExtras();
    // if (bundle != null) {
    //
    // Log.i("pan", "LeftMenuFragment中的res值:" + bundle.get("myMap"));
    // Map<String, Object> hashmap = (Map<String, Object>)
    // bundle.getSerializable("myMap");
    // String name = (String) hashmap.get("nickname");
    // Log.i("pan", "LeftMenuFragment中的res值:" + hashmap);
    // Log.i("pan", "LeftMenuFragment中的name值:" + name);
    // }
}

private Handler handler = new Handler() {
    public void handleMessage(Message msg) {
        switch (msg.what) {

        case LOAD_USER_ICON:
            left_menu_fragment_imagebutton.setImageURI(Uri
                    .parse(picturePath));
            break;
        default:
            break;
        }
    };
};

/**
 * 加载头像
 */
public void loadIcon() {
    final String imageUrl = platform.getDb().getUserIcon();
    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                URL picUrl = new URL(imageUrl);
                Bitmap userIcon = BitmapFactory.decodeStream(picUrl
                        .openStream());
                FileOutputStream b = null;
                try {
                    b = new FileOutputStream(picturePath);
                    userIcon.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把数据写入文件
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } finally {
                    try {
                        b.flush();
                        b.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                userInfo.setUserIcon(picturePath);

                Message msg = new Message();
                msg.what = LOAD_USER_ICON;
                // UIHandler.sendMessage(msg);

                handler.sendMessage(msg);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }).start();
}

public boolean handleMessage(Message msg) {
    switch (msg.what) {

    case LOAD_USER_ICON:
        left_menu_fragment_imagebutton.setImageURI(Uri.parse(picturePath));
        break;
    default:
        break;
    }
    return false;
}

/**
 * listview的适配器
 *
 * @author Administrator
 *
 */
class myListAdapter extends BaseAdapter {

    private TextView text;

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return itemname.length;
    }

    @Override
    public Object getItem(int position) {
        return itemname[position];
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) {
            convertView = View.inflate(mActivity,
                    R.layout.left_menu_fragment_listview, null);
        }
        text = (TextView) convertView
                .findViewById(R.id.left_menu_fragment_listview_textview);
        text.setText(itemname[position]);
        return convertView;
    }

}

/****************************************************************************************/

/** 设置授权回调,用于判断是否进入注册 */
public void setOnLoginListener(OnLoginListener l) {
    this.signupListener = l;
}

public void setPlatform(String platName) {
    Log.i("pan", "platName的值为:" + platName);
    platform = ShareSDK.getPlatform(platName);
    initData();

}

这下面是打印的值:

10-30 09:11:52.480: I/pan(8062): leftMenuFragment中的username额路的快乐
10-30 09:11:52.480: I/pan(8062): leftMenuFragment中的iconhttp://q.qlogo.cn/qqapp/100371282/C9F7933B7F1457206982CCF2EC3548F9/40
10-30 09:11:52.480: I/pan(8062): leftMenuFragment中的username222222额路的快乐
10-30 09:11:52.480: I/pan(8062): 执行进入了获取icon方法吗

这下面是错误的提示:

10-30 09:11:52.490: E/AndroidRuntime(8062): java.lang.NullPointerException
10-30 09:11:52.490: E/AndroidRuntime(8062): at com.pan.foucstoday.fragment.LeftMenuFragment.initData(LeftMenuFragment.java:121)
10-30 09:11:52.490: E/AndroidRuntime(8062): at com.pan.foucstoday.fragment.LeftMenuFragment.setPlatform(LeftMenuFragment.java:270)
10-30 09:11:52.490: E/AndroidRuntime(8062): at com.pan.foucstoday.AuthorizationLoginActivity.handleMessage(AuthorizationLoginActivity.java:201)
10-30 09:11:52.490: E/AndroidRuntime(8062): at com.mob.tools.utils.UIHandler.handleMessage(Unknown Source)
10-30 09:11:52.490: E/AndroidRuntime(8062): at com.mob.tools.utils.UIHandler.access$000(Unknown Source)

4个回答

有返回值说明程序没错,是你这边获取登录的代码报错。userInfo.getUserName().toString()试试

q12q1ty
Even_P 回复FJeKin: 我的逻辑是在该类中,用initview和initData两个方法,在initview中有个图片按钮,点击后跳转到授权界面,当授权完成后,把用户授权的username,和icon返回这个类中,然后再setPlatform中获取,以及调用initData初始化数据 ,但是initData中的textview却没有初始化,所以为空,如果我再调用initview的话,View view = View.inflate(getActivity(), R.layout.left_menu_fragment, null);为空指针异常
接近 4 年之前 回复
q12q1ty
Even_P 如果我在调用一次initview则会提示View view = View.inflate(getActivity(), R.layout.left_menu_fragment, null);为空指针异常
接近 4 年之前 回复
q12q1ty
Even_P 回复FJeKin: 您是说在setPlatPform中调用initview吗?
接近 4 年之前 回复
FJeKin
FJekin 回复q12q1ty: 对啊,我怎么没看到有调用到initView
接近 4 年之前 回复
q12q1ty
Even_P 回复FJeKin: 在initview中呢,哪个是初始化view的,还有一个是initData是初始化数据的
接近 4 年之前 回复
FJeKin
FJekin 回复q12q1ty: 你代码没贴全吧??我怎么没看到你调用初始化方法init()
接近 4 年之前 回复
q12q1ty
Even_P # 还是报这个错呢,这里他说UIHandler没有资源,但是我没有用UIHandle呢,我是自己定义的一个Handle![图片说明](http://img.ask.csdn.net/upload/201510/30/1446172712_180346.png)具体的错误我在评论中给出来了,
接近 4 年之前 回复

还是报这个错呢,这里他说UIHandler没有资源,但是我没有用UIHandle呢,我是自己定义的一个Handle图片说明

10-30 10:31:37.370: E/AndroidRuntime(11735): java.lang.NullPointerException
10-30 10:31:37.370: E/AndroidRuntime(11735): at com.pan.foucstoday.fragment.LeftMenuFragment.initData(LeftMenuFragment.java:101)
10-30 10:31:37.370: E/AndroidRuntime(11735): at com.pan.foucstoday.fragment.LeftMenuFragment.setPlatform(LeftMenuFragment.java:263)
10-30 10:31:37.370: E/AndroidRuntime(11735): at com.pan.foucstoday.AuthorizationLoginActivity.handleMessage(AuthorizationLoginActivity.java:201)
10-30 10:31:37.370: E/AndroidRuntime(11735): at com.mob.tools.utils.UIHandler.handleMessage(Unknown Source)
10-30 10:31:37.370: E/AndroidRuntime(11735): at com.mob.tools.utils.UIHandler.access$000(Unknown Source)
10-30 10:31:37.370: E/AndroidRuntime(11735): at com.mob.tools.utils.UIHandler$1.handleMessage(Unknown Source)

空指针你看看哪里的问题啊、、
可能不是sharesdk那一块的问题了、

q12q1ty
Even_P 嗯嗯,sharesdk已经返回了值,在我给textview设值得时候报的空指针一样,具体的错误在楼上,评论中放不了这么多字
接近 4 年之前 回复

你看看userinfo是不是空,,然后看看userinfo. getUserName()是不是空。

crazy1235
月盡天明 这不会找到问题所在了,。。具体为什么为空,,你仔细找找就会发现了。应该很用以找了。
接近 4 年之前 回复
q12q1ty
Even_P 回复Jack-sen: 我直接把他数出来是空的,但是我在initview中已经findviewbyid了,left_menu_fragment_textview = (TextView) view .findViewById(R.id.left_menu_fragment_textview);为什么还会为空?
接近 4 年之前 回复
crazy1235
月盡天明 那看你的textview是不是null吧
接近 4 年之前 回复
q12q1ty
Even_P 不是呢,我做了判断的,10-30 10:31:37.350: I/pan(11735): leftMenuFragment中的username额路的快乐 10-30 10:31:37.350: I/pan(11735): leftMenuFragment中的iconhttp://q.qlogo.cn/qqapp/100371282/C9F7933B7F1457206982CCF2EC3548F9/4010-30 10:31:37.350: I/pan(11735): leftMenuFragment中的username222222额路的快乐,这是打印的值
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
mybatis一直报空指针异常
调用mybatis中mapper.xml中所有的方法都报空指针异常(包括逆向工程生成的方法), 原因是:mapper.xml没有注入到对应的serviceImpl中
mybatis一直报空指针异常????
mybatis一直报空指针异常????
ShareSdk的第三方登录
刚开始想要实现这个功能的时候,一直以为会很难,很麻烦。但当接触了才发现,原来这个东西已经被封装得变得相当容易了,你的调用只需要那么几句代码就可搞定了。这里,我就不加多的赘述了。只说说我demo 中使用的方式,亲测都是没问题的。无论是 QQ 、微信,微博都有试过登录,并获取得到相应的昵称,头像的了。 首先就是导入一个sharesdk的工程库。其次是到自己的项目里面添加ShareSDK.xml
ShareSdk第三方登录
shareSdk第三方登录。手机号,qq登录,微信登录,新浪微博登录。
ShareSDK第三方登录
详见http://blog.csdn.net/huaxun66/article/details/77746304 详见http://blog.csdn.net/huaxun66/article/details/77746304
shareSdk第三方登录
纪录一下shareSdk第三方登录的主要代码 集成请参照Mob 注意事项: <activity android:name=".wxapi.WXEntryActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android
shareSDK第三方登录
shareSDK第三方登录,很好的例子,别人写的,一起学习下
求解决一直报空指针异常
[img=https://img-bbs.csdn.net/upload/201805/30/1527691380_438224.png][/img][img=https://img-bbs.csdn.net/upload/201805/30/1527691388_247344.png][/img][img=https://img-bbs.csdn.net/upload/201805/30/1527691395_635294.png][/img]
window.history.go(-1); 返回了但是没有刷新
可以用window.location.href=document.referrer; 指定window.location.href会重新发起一次请求,就会刷新 使用window.history.go(-1)可能会用浏览器缓存的页面   document.referrer详解: 在JavaScript中,document对象有很多属性,其中有3个与对网页的请求有关的属性,它们分别是URL、d...
ShareSDK 实现第三方登录
关于第三方登录,有很多平台,这里讲述一下shareSDK的。 第一步:添加依赖包 第二步: 在assets下添加ShareSDK.xml,配置AndroidManifest android:name="android.permission.INTERNET" /> android:name="android.permission.ACCESS_WIFI_STATE" /> an
ShareSDK实现第三方登录和分享
使用ShareSDK实现第三方登录和分享
iOS开发- ShareSDK分享和第三方登录
目录(?)[-] 1 获取ShareSDK的AppKey2 下载SDK3 快速集成 第一步使快速工具进行集成查看视频教程 Windows下LinuxMac OS下 第二步配置AndroidManifestxml查看视频教程 1添加权限添加activity信息3如果您集成了微信易信新浪微博支付宝还需要添加下面回调的activity处理替换mob后台申请的Appkey与各个平
Sharesdk 实现第三方登录
本课程由扣丁学堂教学总监郭宏志讲授,主要讲解了iOS开发中的第三方登录、分享这一专题,内容包括Sharesdk 实现分享、Sharesdk 实现第三方登录等知识。
ShareSDK第三方登录和googleplus登录
1.这个是自己参照ShareSDK官方文档写的demo,选取了一些常见的登陆方式进行测试,除了googleplus没有成功外,其余都没有什么问题。 选取的登陆方式有:、Googleplus、QQ、Sina 2.在demo里面做了清楚缓存设置,这样用户就可以很方便的切换用户,而不用每次一进来就已经登陆成功了,想切换用户都不行。 3.googleplus登陆没有成功,自己看了一下google第三方授权登陆的集成文档,附了一个例子在里面,测试过,没有问题,如果大家遇到问题,是google开发者账号设置问题,需要开通这个功能,并取得API KEY.
shareSDK QQ第三方登录
QQ的第三方登录 使用的shareSDK
ShareSDK集成第三方登录和分享
-
安卓ShareSDK第三方登录与分享
ShareSdk mob 第三方 分享
Mob ShareSDK 第三方登录
第三方登录的定义 所谓的第三方登录,就是利用用户在第三方平台上已有的账号来快速完成自己应用的登录或者注册的功能。而这里的第三方平台,一般是已经有大量用户的平台,如国内的新浪微博、QQ空间,微信,外国的Facebook、twitter等等。第三方登录不是一个具体的接口,而是一种思想或者一套步骤。 第三方登录实现的方法 选择好平台以后,现在思考下面的问题: 你的应用是否具备独立账户系统? 这...
sharesdk微信,QQ第三方登录
第一次写,水平有限。基本算是抄着官网的,可以直接看官方文档 官方地址http://www.mob.com 一.注册mob开发者账号,创建应用,获取AppKey与App Secret   二.开始集成    详情://http://wiki.mob.com/sdk-share-android-3-0-0/     1)打开根目录的build.gradle,配置 buildscript {...
shareSdk。第三方登录的demo
从shareSdk获取的第三方登录的demo。留着以后使用。
ShareSDK第三方登录iOS
项目需要集成的第三方登录,抽出来做成一个小demo,以便以后使用。
查询数据库,空指针异常,请指教
总共三个文件:rnListServlet.java文件,search.html文件。rn异常如下:rn----------------------------------------------------------------------------------rnHTTP Status 500 - rnrnrnrntype Exception reportrnrnmessage rnrndescription The server encountered an internal error () that prevented it from fulfilling this request.rnrnexception rnrnjavax.servlet.ServletException: Servlet.init() for servlet ListServlet threw exceptionrn org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)rn org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)rn org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)rn org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)rn org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)rn org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)rn org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)rn java.lang.Thread.run(Thread.java:595)rnrnrnroot cause rnrnjava.lang.NullPointerExceptionrn java.lang.Class.forName0(Native Method)rn java.lang.Class.forName(Class.java:164)rn org.sunxin.lesson.jsp.bookstore.ListServlet.init(ListServlet.java:21)rn javax.servlet.GenericServlet.init(GenericServlet.java:211)rn org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)rn org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)rn org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)rn org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)rn org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)rn org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)rn org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)rn java.lang.Thread.run(Thread.java:595)rnrnrnnote The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.rn--------------------------------------------------------------------------------rnListServlet.java源码如下:rn-------------------------------------------------------------------------------rnpackage org.sunxin.lesson.jsp.bookstore;rnrnimport javax.servlet.*;rnimport javax.servlet.http.*;rnimport java.io.*;rnimport java.sql.*;rnrnpublic class ListServlet extends HttpServletrn private String url1;rn private String user;rn private String password;rn rn public void init() throws ServletExceptionrn ServletContext sc = getServletContext();rn String driverClass = sc.getInitParameter("driverClass");rn url1 = sc.getInitParameter("url1");rn user = sc.getInitParameter("user");rn password = sc.getInitParameter("password");rn rn tryrn Class.forName(driverClass);rn rn catch(ClassNotFoundException ce)rn throw new UnavailableException("加载数据库驱动失败!");rn rn rn public void doGet(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOExceptionrn Connection conn= null;rn Statement stmt = null;rn ResultSet rs = null;rn req.setCharacterEncoding("gbk");rn String condition = req.getParameter("cond");rn rn if(null == condition || condition.equals(""))rn resp.sendRedirect("search.html");rn return;rn rn resp.setContentType("text/html;charset=gbk");rn PrintWriter out = resp.getWriter();rn tryrn conn = DriverManager.getConnection(url1,user,password);rn stmt = conn.createStatement();rn if(condition.equals("all"))rn rs = stmt.executeQuery("select * from bookinfo");rn printBookInfo(out,rs);rn out.close(); rn rn else if(condition.equals("precision"))rn String title = req.getParameter("title");rn String author = req.getParameter("author");rn String bookconcern = req.getParameter("bookconcern");rn rn if((null==title || title.equals(""))&&(null==author || author.equals(""))&&(null==bookconcern || bookconcern.equals("")))rn resp.sendRedirect("search.html");rn return;rn rn StringBuffer sb=new StringBuffer("select * from bookinfo where");rn boolean bFlag = false;rn rn if(!author.equals(""))rn if(bFlag)rn sb.append("and author = "+"'"+author+"'");rn elsern sb.append("author="+"'"+author+"'");rn bFlag = true;rn rn rn if(!bookconcern.equals(""))rn if(bFlag)rn sb.append("and bookconcern = "+"'"+bookconcern+"'");rn elsern sb.append("bookconcern = "+"'"+bookconcern+"'");rn rn else if(condition.equals("keyword"))rn String keyword = req.getParameter("keyword");rn if(null==keyword||keyword.equals(""))rn resp.sendRedirect("search.html");rn return;rn rn String strSQL = "select * from bookinfo where title like '%"+keyword+"%'";rn rn rs = stmt.executeQuery(strSQL);rn printBookInfo(out,rs);rn out.close();rn rn elsern resp.sendRedirect("search.html");rn return;rn rn rn rn catch(SQLException se)rn se.printStackTrace();rn rn finallyrn if(rs!=null)rn tryrn rs.close();rn rn catch(SQLException se)rn se.printStackTrace();rn rn rs = null;rn rn if(stmt!= null)rn tryrn stmt.close();rn rn catch(SQLException se)rn se.printStackTrace();rn rn stmt = null;rn rn if(conn!=null)rn tryrn conn.close();rn rn catch(SQLException se)rn se.printStackTrace();rn rn conn = null;rn rn rn rn public void doPost(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOExceptionrn doGet(req,resp);rn rn private void printBookInfo(PrintWriter out,ResultSet rs)throws SQLExceptionrn out.println("");rn out.println(" 图书信息");rn out.println("");rn out.println(" 图书信息");rn out.println(" 书名 作者 出版社 价格 发行日期");rn while(rs.next())rn out.println(" ");rn out.println(" "+rs.getString("title")+"");rn out.println(" "+rs.getString("author"+""));rn out.println(" "+rs.getString("bookconcern")+"");rn out.println(" "+rs.getDate("pbulish_date")+"");rn out.println("");rn rn out.println("");rn rn rn---------------------------------------------------------------------------------------------------------------rn
return 不返回了
程序中执行到Return TRUE;不返回了 是怎么回事 我调试运行 执行到//1 然后就到 //2 再到//3 才返回, 是什么原因。rn if (str.Left(3)=="sel")rn rn if (!m_pRecordset->BOF)rn rn if (m_GetData) rn GetData();rn return TRUE; //1rn rn elsern rn return FALSE; //2rn rn rn elsern rn return TRUE;//3rn
返回值为基本数据类型返回null报空指针异常
显然,null并不能作为基本数据类型的值,int a = null;这句代码编译都过不了,如果返回值为null的话就会尝试将null强转为基本数据类型,此时就会报空指针异常。但是对于其包装类型就不存在这个问题了,给包装类型返回null是合理的,因为Integer a = null是被允许的。...
SSH框架一直报action的service空指针异常
看到网上很多答案,大部分都是applicationContext.xml里面的bean的id要和action的set方法名一致即&amp;lt;bean id=&quot;userService&quot; class=&quot;com.lc.service.Impl.UserServiceImpl&quot;&amp;gt; &amp;lt;property name=&quot;userDao&quot; ref=&quot;userDao&quot;&amp;gt;&amp;lt;/propert
Android集成ShareSDK的分享及第三方登录
废话不多说,直接上代码 package com.example.administrator.sharesdkdemo; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import java.u
shareSDk第三方登录授权的个人理解
第三方登录现在应用的比较多,常用的也就是shareSDK和友盟,其中主要是授权问题,现在总结一下shareSDK的授权问题,纯属个人总结 1、authorize授权获取授权返回的账号的唯一信息    showuser 在authorize的showuser 基础上还会返回授权账号的个人信息   所以说两个方法都可以完成授权。  但是有较大区别,当使用authorize方法时无论你是否已经授权(或
Android 基于ShareSDK的Facebook第三方登录
ShareSDK中Facebook的登录与其他方式的登录方法一样。 1、在国内开发的话首先当然需要翻墙,翻墙软件很多,可以在网上搜一下,当然付费的较稳定些。 2、登录Facebook开放平台https://developers.facebook.com/,依次点击My Apps-->Add a New App 获取到你的key和secret 3、然后你的My Apps下就有了刚刚加入的
Android 第三方登录、分享(ShareSDK、友盟)
为下边的项目做准备,写一个第三方登录、分享的demo。分别使用sharesdk和友盟来实现。 先说一下我对两者的使用上的感觉,个人感觉sharesdk比友盟更好一点,好在哪里呢?好在人工服务上。在集成的过程中遇到了各种问题,但是sharesdk的人工服务做的很好,能给答疑解惑,提供解决问题的方法! 接下来上代码(本文使用android studio开发,sharesdk版本v2.7.7,友
请大神看看为什么空指针异常。。。
public class Clerk rnpublic int index=0;rnrnrnrnpublic class Productor extends Thread rnprivate Clerk cl;rnpublic Productor(Clerk c1)rnthis.cl=cl;rnrnpublic void run()rnSystem.out.println(cl.index);rnrnrnpublic class Testrnrnpublic static void main(String []args)rnClerk cl=new Clerk();rnrnThread th1=new Productor(cl);rnth1.start();rnrn运行的时候在 System.out.println(cl.index)这一句上出现空指针异常,我搞了一晚上了,都不知道哪的事。我在main函数里创建了Clerk的对象,然后通过Productor的构造方法传给了run()方法里,怎么会空指针呢,我基本上是按书上来的,求各位看看到底哪有问题。。。手机看着不方便下面有截屏:
用shareSdk实现的第三方登录与分享
版权声明:本文为博主原创文章,未经博主允许不得转载。说到第三方登录与分享,其实有很多sdk都支持,不过最常用的还算友盟和mob了,我今天打算记录一下sharesdk的第三方登录与分享,其实也就是简单实现,我只当,自己的个人笔记记录。也算梳理一下逻辑吧。先看一下mob的官网。我们要使用,就需要下载sdk,至于sdk的集成与环境配置,请你看,官方的:http://wiki.mob.com/Android
ios客户端第三方登录---shareSDK的用法
一、第三方登录的定义 第三方登录,就是利用用户在第三方平台上已有的账号来快速完成自己应用的登录流程。这里的第三方平台,如新浪微博,QQ,微信,Facebook,Twitter等平台。这里我们可以登录获取相应的用户信息和授权信息,例如uid,token等。用户可以获取到信息用来做自己的操作。 二.获取AppKey   获取appkey需要提前注册shareSDK的账号,具体步骤如下:
ShareSDK MobSDK 安卓第三方登录分享
Mob官方上ShareSDK最新已经弃用客户端自行生成相应jar包的工具改为在build中配置代码的方式进行集成,Eclips环境则需要jar包方式,此工具为之前Mob官方生成相应第三方登录方式对应的jar包工具
ajax返回值问题-为什么把全部都返回了呢?
[code=JScript]rn$.ajax(rn type:'POST',rn url:"14.php",rn //dataType: "json", 此处不注释掉,IE报错rn cache: false,rn data:"id":id,"flowid":flowid,rn beforeSend: function()rn obj.innerHTML="waiting...";rn ,rn success:function(json)rn alert(json); //此处显示全部的HTML代码rn alert(json.success); //此处显示undifinedrnrn //if(json.success==1)rn //obj.innerHTML="ok";rn ,rn error:function()rn alert("Error,please flush.");rn rn);rn[/code]
【疑问】new返回了null
如图,我new了一个对象,但是返回了null,可以它的域都是有值的,这怎么回事??rn[img=http://hi.csdn.net/attachment/201011/23/39454_12905174481QOB.jpg][/img]
确保万得返回了数据
from WindPy import w import sysw.start() wdata = w.wsd(...) if wdata.ErrorCode != 0: #确保wsd内参数设置没有错误 print('Wind Error Code is: ',wdata.ErrorCode) sys.exit() if 0 == len(wdata.Data): #确保万得返回了数据
如何判断返回了Exception?
定义了方法如下:rn[code=C#]object method(int i)rnrn if(i>0)rn return i;rn else rn return new Exception("");rnrn[/code]如果不使用try catch,我怎么判断方法method是否返回了Exception呢?rn谢谢!
【小白求助】 一直闪退但是找不到问题,求大神指教
[code=java]public class MainActivity extends Activity rn String[] presidents = "dsjdkasdc", "asmsldmdlk", "wiedjwlked",rn "wkqjdlqwkd", "kwdjlq", "dkjwqho", "hdskjfh" ;rnrn @Overridern protected void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.activity_main);rnrn ArrayAdapter adapter = new ArrayAdapter(this,rn android.R.layout.simple_dropdown_item_1line, presidents);rn AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.txt1);rnrn textView.setThreshold(3);rn textView.setAdapter(adapter);rn rnrn[/code][img=https://img-bbs.csdn.net/upload/201405/06/1399307582_320554.png][/img]
win32API GetProcAddress() 返回了null,但是找不到问题所在?
我的代码如下nnnn```n #includen #includen #includen #includennn typedef struct n n FARPROC farproc[2];n wchar_t wRemoteBuffer[5][60]; //3rd is "kernel32.dll",4th is "CreateFile",5th is "WriteFile"n THREAD_PARAM;nnn typedef HMODULE (WINAPI *PFNLIBRARY)(LPCSTR lpLibraryName); //get the address of LoadLibrary() functionnn typedef FARPROC (WINAPI *PFNGETADDRESS)(HMODULE hModule,LPCSTR lpProcName); //get the address of GetProcAddress() functionnn typedef HANDLE (WINAPI *PFNCREATEFILE)(LPCWSTR lpFileName,DWORD dwDesiredAccess,DWORD dwSharedMode,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD dwCreationFlags,DWORD dwFlagsAndAttributes,HANDLE hTemplateFile); //get the address of CreateFile() functionnn typedef BOOL (WINAPI *PFNWRITEFILE)(HANDLE hFile,LPVOID lpBuffer,DWORD nNumberOfBytesToWrite,LPDWORD lpNumberOfBytesWrite,LPOVERLAPPED lpOverlapped); //get the address of WriteFile() functionnnn void WINAPI create(THREAD_PARAM ta) n n HMODULE hModule=((PFNLIBRARY)ta.farproc[0])((LPCSTR)ta.wRemoteBuffer[2]);n n PFNCREATEFILE pfnCreateFile=(PFNCREATEFILE)((PFNGETADDRESS)ta.farproc[1])(hModule,(LPCSTR)ta.wRemoteBuffer[3]); nn nn PFNWRITEFILE pfnWriteFile=(PFNWRITEFILE)((PFNGETADDRESS)ta.farproc[1])(hModule,(LPCSTR)ta.wRemoteBuffer[4]);nn LPCWSTR lpFileName=ta.wRemoteBuffer[0];n n HANDLE hFile=pfnCreateFile(lpFileName,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_ALWAYS,NULL,NULL);nn n LPCWSTR lpBuffer=ta.wRemoteBuffer[1];n n n //这里有2行代码,但是在提问这里变红色了,我还是把这2行代码截图发出来,图片下面的代码是紧接着图片的2行代码的n```nn![图片说明](https://img-ask.csdn.net/upload/201609/05/1473076601_859647.png)nnnn```n nn int main()n n HMODULE hMod=GetModuleHandle(L"kernel32.dll");n THREAD_PARAM ta;n ta.farproc[0]=GetProcAddress(hMod,"LoadLibraryW");n ta.farproc[1]=GetProcAddress(hMod,"GetProcAddress");n wcscpy_s(ta.wRemoteBuffer[0],L"C:\\CodeInjectTest.txt");n wcscpy_s(ta.wRemoteBuffer[1],L"if you see this file,then the CodeInjectTest has succeeded\n");n wcscpy_s(ta.wRemoteBuffer[2],L"kernel32.dll");n wcscpy_s(ta.wRemoteBuffer[3],L"CreateFileW"); //here may be error ,about the address of createfilen wcscpy_s(ta.wRemoteBuffer[4],L"WriteFile");nnn create(ta);nn system("PAUSE");n return 1;n n```nn在create()函数的这行代码中nnn```n PFNCREATEFILE pfnCreateFile=(PFNCREATEFILE)((PFNGETADDRESS)ta.farproc[1])(hModule,(LPCSTR)ta.wRemoteBuffer[3]); n```n这里返回了null,在ollydbg中查看,这句中的ta.farproc[1]就是GetProcAddress的入口地址,其传入的参数也是和预想中的相符,但是执行完这个call 指令,返回之后,EAX的值为0x0,这意味着返回值为null,不知哪里出错了,求大神指点nnnn nn
用OpenProcess的时候,返回了句柄但是GetLastError()有错误?
HANDLE hProcess = OpenProcess(PROCESS_VM_READ,//PROCESS_QUERY_INFORMATION|PROCESS_VM_READ, //rn FALSE,EsPid);rn int err=GetLastError();rn单步看到返回的句柄是正确的,但是GetLastError()错误代码为5(ERROR_ACCESS_DENIED)rn??rn请问是什么问题
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件