精华内容
下载资源
问答
  • 主要为大家详细介绍了Android账号注册过程中实现点击获取验证码倒计时效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 安卓注册账号,短信验证,短信验证倒计时,验证码自动填充,读取短信。
  • 先给大家展示下界面...Main.xml源码android:layout_width="match_parent"android:layout_height="match_parent"android:stretchColumns="1"android:background="@drawable/bluesky">android:layout_width="mat...

    先给大家展示下界面效果图,感觉满意,请参考实现代码。

    27c8037bd8d86ea1b890a9655ffeae28.png

    Main.xml源码

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:stretchColumns="1"

    android:background="@drawable/bluesky"

    >

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:text="账号:"

    android:textSize="16sp"

    />

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:hint="手机号"

    android:selectAllOnFocus="true"

    />

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:text="密码:"

    android:textSize="16sp"

    />

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:inputType="numberPassword"

    />

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:text="生日:"

    android:textSize="16sp"

    />

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:inputType="date"

    />

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:text="住址:"

    android:textSize="16sp"

    />

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:inputType="textPostalAddress"

    />

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:text="电子邮箱:"

    android:textSize="16sp"

    />

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:inputType="textEmailAddress"

    />

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:text="注册"

    />

    到此关于Android用户注册界面的全部代码就给大家介绍完了,代码有bug欢迎提出,小编会及时和大家联系,共同学习进步!

    展开全文
  • 安卓Android本地Sqlite实现注册账号和登录功能

    万次阅读 多人点赞 2016-05-21 21:23:40
    实现了注册账号时将数据写入本地SQLite,登录账号时从本地SQLite匹配数据,并有记住密码功能,以及通过改密口令(类似于密保问题)修改...注册账号的时候,先去匹配账号是否存在,如果账号存在,则提示账号已经存在,如

    实现了注册账号时将数据写入本地SQLite,登录账号时从本地SQLite匹配数据,并有记住密码功能,以及通过改密口令(类似于密保问题)修改密码的功能

    思路很简单,登录账号的时候,先去数据库匹配账号,如果匹配到了相同账号,再去匹配同一行的密码,匹配成功则登录成功,匹配不成功则登录失败。如果没有匹配到账号,则也是登录失败。

    注册账号的时候,先去匹配账号是否存在,如果账号存在,则提示账号已经存在,如果数据库中不存欲注册的账号,则允许注册。

    在注册的时候,可以通过判断输入内容进行限制,如账号格式,密码位数,改密口令这些,我这里只对密码位数进行了限制。

    如果账号界面及登录界面都输入了内容,则进行匹配:

    db = new RegisterHelper(this, "user", null, RegisterHelper.REGISTER_DB_VERSION).getReadableDatabase();
                Cursor cursor = db.query("user", new String[]{"user", "pass"}, null, null, null, null, null);
                boolean login = false;//账号密码是否匹配
                //从数据库中匹配账号密码
                while (cursor.moveToNext()) {
                    if (name.equals(cursor.getString(cursor.getColumnIndex("user")))
                            && pass.equals(cursor.getString(cursor.getColumnIndex("pass")))) {//用户名匹配后才会去匹配密码:&&逻辑的好处
                        login = true;
                        break;
                    }
                }
    接下来判断login,如果允许登录,则再判断有没有勾选记住密码:

    //如果匹配成功,判断是否勾选记住账号,并进行账号信息存储
                if (login) {
                    SharedPreferences.Editor editor = getSharedPreferences("remember", MODE_PRIVATE).edit();//这里利用SharedPreferences进行存储
                    if (remember.isChecked()) {//如果勾选了记住密码
                        editor.putBoolean("remember", true);//是否保存了密码,在这个Activity创建的时候先判断此内容,如果为true则读取并写入输入框,实现记住密码
                        editor.putString("name", name);
                        editor.putString("pass", pass);
                        editor.commit();
                    } else {
                        editor.clear();
                    }
                    editor.commit();
                    Intent intent = new Intent(this, Main_Activity.class);
                    startActivity(intent);
                } else {
                    //账号密码在数据库中匹配不成功。即login==false
                    Toast.makeText(this, "账号与密码不匹配", Toast.LENGTH_SHORT).show();
                }

    在创建Acitivity的时候,判断是否保存了密码,如果保存了,从而实现将保存的密码输入到输入框中,在Activity的onCreate方法中调用此方法就行了


    private void isRemember() {
            SharedPreferences prefer = getSharedPreferences("remember", MODE_PRIVATE);
            boolean isRemember = prefer.getBoolean("remember", false);
            if (isRemember) {
                et_Name.setText(prefer.getString("name", ""));
                et_Pass.setText(prefer.getString("pass", ""));
                remember.setChecked(true);
            }
        }

    到这里,登录功能就OK了,但是数据库中根本没有任何一条账号信息!于是,当然少不了注册功能--往数据库里写入账号信息!




    创建一个注册账号的layout和activity,进行代码编写

    主要功能实现:当用户输入你所需求的信息,并符合要求(如密码不能低于6位等),接下来就去匹配数据库了,首先判断账号是否已经存在于数据库:


    <pre name="code" class="java">            boolean creatUser=false;//是否允许创建用户
                dbHelper = new RegisterHelper(Register_Activity.this, "user", null, 1);
                SQLiteDatabase db = dbHelper.getWritableDatabase();
                Cursor cursor = db.query("user", new String[]{"user"}, null, null, null, null, null);
                while (cursor.moveToNext()) {
                    if (user_name.equals(cursor.getString(cursor.getColumnIndex("user")))) {//如果在数据库中找到了该账号,则不允许创建
                        Toast.makeText(Register_Activity.this, "该账户已存在", Toast.LENGTH_SHORT).show();//弹一条吐司提醒用户
                        creatUser = false;//不允许创建
                    }
                }
    接下来判断creatUser到底允许不允许创建用户,从而实现向数据库写入账号信息的逻辑:
    
    
    
    
    <pre name="code" class="java">if (creatUser) {//如果允许创建用户
    <span style="white-space:pre">		</span>//将用户信息以键值对形式存贮在ContentValues中
                    ContentValues values = new ContentValues();
                    values.put("user", user_name);
                    values.put("pass", pass1);
                    values.put("name", name);
                    values.put("reSetPass", gmkl);
                    db.insert("user", null, values);//插入数据
    <span style="white-space:pre">		</span>//注册成功后弹出一个Dialog提示用户
                    AlertDialog.Builder dialog = new AlertDialog.Builder(Register_Activity.this);
                    dialog.setTitle("注册成功");
                    dialog.setMessage("您已成功注册账户,请返回登录界面");
    <span style="white-space:pre">		</span>//设置确认按钮,跳转至登录界面
                    dialog.setPositiveButton("返回登录界面", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            finish();
                        }
                    });
    <span style="white-space:pre">		</span>//设置取消按钮,留在注册界面
                    dialog.setNegativeButton("留在注册界面", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
    
                        }
                    });
                    dialog.show();
                }
    
    


    到这里,登录和注册功能就实现了!



    还有一个修改密码(找回密码)的功能:

    由于手欠,将此功能写在了一个自定义的Dialog里,其实可以写在Dialog类型的Activity中的,这里我就不再修改了

    首先验证用户是否完整输入了我们改密所需要的各项内容,如果都输入了,则在数据库中匹配账号,账号匹配成功则再匹配改密口令,如果改密口令匹配成功,则修改密码,代码如下:


    <span style="white-space:pre">	</span>    db = new RegisterHelper(context, "user", null, RegisterHelper.REGISTER_DB_VERSION).getReadableDatabase();
                Cursor cursor = db.query("user", new String[]{"user", "reSetPass"}, null, null, null, null, null);
                //验证账号与改密口令是否相符
                while (cursor.moveToNext()) {
                    if (userName.equals(cursor.getString(cursor.getColumnIndex("user")))&&
                            gmkl.equals(cursor.getString(cursor.getColumnIndex("reSetPass")))) {//如果账号相符,则匹配改密口令,与登录类似
                            ContentValues values = new ContentValues();
                            values.put("pass", newPass);
                            db.update("user", values, "user=?", new String[]{userName});//更新密码
                            Toast.makeText(context,"密码修改成功!\n请牢记新密码并使用新密码登录",Toast.LENGTH_LONG).show();//弹出吐司提醒用户
                            isReSetPassFinish=true;//改密工作完成
                            break;
                    }
                }
                //未成功匹配账号&改密口令
                if (!isReSetPassFinish){
                    Toast.makeText(context,"账号不存在或改密口令错误",Toast.LENGTH_LONG).show();
                }



    下面我就将这两个Activity的代码以及修改密码的代码无情的全部贴上来吧:

    LoginActivity:

    package com.example.application.activity;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.os.Bundle;
    import android.view.View;
    import android.view.Window;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.CheckBox;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.ListView;
    import android.widget.PopupWindow;
    import android.widget.Toast;
    
    import com.example.application.Dialog.ReSetPass_Dialog;
    import com.example.application.R;
    import com.example.application.db.RegisterHelper;
    
    /**
     * 登录界面
     * Created by lxb on 2016/5/13.
     */
    public class Login_Activity extends Activity implements View.OnClickListener {
        private Button bt_login;
        private Button bt_cancel;
        private Button bt_register;
        private Button bt_reSetPass;
    
        private EditText et_Name;
        private EditText et_Pass;
    
    
        private CheckBox remember;
        private ImageView showUserName;
    
        private SQLiteDatabase db;
    
    
        private PopupWindow popup;
    
        private ArrayAdapter<String> popupAdpter;
        private ListView popupLV;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            setContentView(R.layout.login_layout);
            bt_login = (Button) findViewById(R.id.bt_login);
            bt_cancel = (Button) findViewById(R.id.bt_cancel);
            bt_register = (Button) findViewById(R.id.bt_register);
            bt_reSetPass = (Button) findViewById(R.id.bt_reSetPass);
    
            et_Name = (EditText) findViewById(R.id.et_loginName);
            et_Pass = (EditText) findViewById(R.id.et_loginPass);
    
            remember = (CheckBox) findViewById(R.id.cb_rememberName);
    
            showUserName = (ImageView) findViewById(R.id.iv_showName);
    
            showUserName.setOnClickListener(this);
            bt_login.setOnClickListener(this);
            bt_cancel.setOnClickListener(this);
            bt_register.setOnClickListener(this);
            bt_reSetPass.setOnClickListener(this);
            isRemember();
        }
    
        /**
         * Button监听器
         *
         * @param v
         */
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.bt_login: {
                    Login();
                }
                break;
                case R.id.bt_register: {
                    Intent intent = new Intent(Login_Activity.this, Register_Activity.class);
                    startActivity(intent);
                }
                break;
                case R.id.iv_showName: {
                    InitPopup();
                }
                break;
                case R.id.bt_reSetPass: {
                    ReSetPass_Dialog dialog=new ReSetPass_Dialog(this);
                    dialog.show();
                }
                break;
                case R.id.bt_cancel: {
                    System.exit(0);
                }
            }
        }
    
        /**
         * 登录账号验证
         * 判断是否勾选记住密码
         */
    
        private void Login() {
    
            String name = et_Name.getText().toString();
            String pass = et_Pass.getText().toString();
            //判断是否输入内容
            if (name.equals("") || pass.equals("")) {
                Toast.makeText(this, "请输入账号或密码", Toast.LENGTH_SHORT).show();
            } else {//输入了账号&密码
                db = new RegisterHelper(this, "user", null, RegisterHelper.REGISTER_DB_VERSION).getReadableDatabase();
                Cursor cursor = db.query("user", new String[]{"user", "pass"}, null, null, null, null, null);
                boolean login = false;//账号密码是否匹配
                //从数据库中匹配账号密码
                while (cursor.moveToNext()) {
                    if (name.equals(cursor.getString(cursor.getColumnIndex("user")))
                            && pass.equals(cursor.getString(cursor.getColumnIndex("pass")))) {
                        login = true;
                        break;
                    }
                }
                //如果匹配成功,判断是否勾选记住账号,并进行账号信息存储
                if (login) {
                    SharedPreferences.Editor editor = getSharedPreferences("remember", MODE_PRIVATE).edit();
                    if (remember.isChecked()) {
                        editor.putBoolean("remember", true);
                        editor.putString("name", name);
                        editor.putString("pass", pass);
                        editor.commit();
                    } else {
                        editor.clear();
                    }
                    editor.commit();
                    Intent intent = new Intent(this, Main_Activity.class);
                    startActivity(intent);
                } else {
                    //账号密码在数据库中匹配不成功
                    Toast.makeText(this, "账号与密码不匹配", Toast.LENGTH_SHORT).show();
                }
            }
    
        }
    
    
        private void InitPopup() {
    
        }
    
        /**
         * 判断是否是否保存过密码
         */
        public void isRemember() {
            SharedPreferences prefer = getSharedPreferences("remember", MODE_PRIVATE);
            boolean isRemember = prefer.getBoolean("remember", false);
            if (isRemember) {
                et_Name.setText(prefer.getString("name", ""));
                et_Pass.setText(prefer.getString("pass", ""));
                remember.setChecked(true);
            }
        }
    }
    


    RegisterActivity:

    package com.example.application.activity;
    
    import android.app.Activity;
    import android.content.ContentValues;
    import android.content.DialogInterface;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.os.Bundle;
    import android.support.v7.app.AlertDialog;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    
    import com.example.application.R;
    import com.example.application.db.RegisterHelper;
    
    /**
     * Created by lxb on 2016/5/14.
     */
    public class Register_Activity extends Activity implements View.OnClickListener {
        private Button register_go;
        private Button register_cancel;
        private EditText register_user_name;
        private EditText register_user_pass1;
        private EditText register_user_pass2;
        private EditText register_name;
        private EditText register_gmkl;
        private RegisterHelper dbHelper;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.register_layout);
            register_user_name = (EditText) findViewById(R.id.register_user_name);
            register_user_pass1 = (EditText) findViewById(R.id.register_pass1);
            register_user_pass2 = (EditText) findViewById(R.id.register_pass2);
            register_name = (EditText) findViewById(R.id.register_name);
            register_gmkl = (EditText) findViewById(R.id.register_gmkl);
            register_go = (Button) findViewById(R.id.register_go);
            register_cancel = (Button) findViewById(R.id.register_cancel);
            register_go.setOnClickListener(this);
            register_cancel.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.register_go: {
                    RegisterSave();
                }
                break;
                case R.id.register_cancel: {
                    finish();
                }
            }
        }
    
        private void RegisterSave() {
            String user_name = register_user_name.getText().toString();
            String pass1 = register_user_pass1.getText().toString();
            String pass2 = register_user_pass2.getText().toString();
            String name = register_name.getText().toString();
            String gmkl = register_gmkl.getText().toString();
            boolean creatUser = true;
            if (user_name.equals("") || pass1.equals("") || pass2.equals("") || name.equals("") || gmkl.equals("")) {
                Toast.makeText(this, "请完整输入各项注册内容", Toast.LENGTH_SHORT).show();
            } else if (!pass1.equals(pass2)) {
                Toast.makeText(this, "两次输入密码不一致,请重新输入", Toast.LENGTH_SHORT).show();
            } else if (pass1.length() < 6) {
                Toast.makeText(this, "密码小于六位数,请重新输入", Toast.LENGTH_SHORT).show();
            } else {
                dbHelper = new RegisterHelper(Register_Activity.this, "user", null, 1);
                SQLiteDatabase db = dbHelper.getWritableDatabase();
                Cursor cursor = db.query("user", new String[]{"user"}, null, null, null, null, null);
                while (cursor.moveToNext()) {
                    if (user_name.equals(cursor.getString(cursor.getColumnIndex("user")))) {
                        Toast.makeText(Register_Activity.this, "该账户已存在", Toast.LENGTH_SHORT).show();
                        creatUser = false;
                    }
                }
                if (creatUser) {
                    ContentValues values = new ContentValues();
                    values.put("user", user_name);
                    values.put("pass", pass1);
                    values.put("name", name);
                    values.put("reSetPass", gmkl);
                    db.insert("user", null, values);
                    AlertDialog.Builder dialog = new AlertDialog.Builder(Register_Activity.this);
                    dialog.setTitle("注册成功");
                    dialog.setMessage("您已成功注册账户,请返回登录界面");
                    dialog.setPositiveButton("返回登录界面", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            finish();
                        }
                    });
                    dialog.setNegativeButton("留在注册界面", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
    
                        }
                    });
                    dialog.show();
                }
    
            }
    
        }
    }

    ReSetPass_Dialog:

    package com.example.application.Dialog;
    
    import android.app.Dialog;
    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    
    import com.example.application.R;
    import com.example.application.db.RegisterHelper;
    
    /**
     * 修改密码的Dialog
     * Created by lxb on 2016/5/15.
     */
    public class ReSetPass_Dialog extends Dialog implements View.OnClickListener{
        private Context context;
        private EditText et_reSetUserName;
        private EditText et_reSetGmkl;
        private EditText et_reSetNewPass;
    
        private Button bt_reSetGo;
        private Button bt_reSetCancel;
    
        private SQLiteDatabase db;
    
        public ReSetPass_Dialog(Context context) {
            super(context);
            this.context=context;
        }
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            this.setContentView(R.layout.resetpass_dialog);
            et_reSetGmkl = (EditText) findViewById(R.id.et_reSetGmkl);
            et_reSetUserName = (EditText) findViewById(R.id.et_reSetUserName);
            et_reSetNewPass = (EditText) findViewById(R.id.et_reSetNewPass);
            bt_reSetGo= (Button) findViewById(R.id.bt_reSetGo);
            bt_reSetCancel= (Button) findViewById(R.id.bt_reSetCancel);
            bt_reSetGo.setOnClickListener(this);
            bt_reSetCancel.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            switch (v.getId()){
                case R.id.bt_reSetGo:{
                    if (isReSetPass()){
                        dismiss();
                    }
                }
                break;
                case R.id.bt_reSetCancel:{
                    cancel();
                }
                break;
            }
        }
    
        /**
         *
         * 账号与改密口令验证
         * 修改密码
         *
         * @return 是否完成完成改密工作
         */
    
        private boolean isReSetPass() {
            boolean isReSetPassFinish=false;
            String userName = et_reSetUserName.getText().toString();
            String gmkl = et_reSetGmkl.getText().toString();
            String newPass = et_reSetNewPass.getText().toString();
            //是否完整输入各项内容
            if (userName.equals("") || gmkl.equals("") || newPass.equals("")) {
                Toast.makeText(context, "请输入改密所需的每项内容", Toast.LENGTH_SHORT).show();
            } else {//完整输入了各项所需内容
                db = new RegisterHelper(context, "user", null, RegisterHelper.REGISTER_DB_VERSION).getReadableDatabase();
                Cursor cursor = db.query("user", new String[]{"user", "reSetPass"}, null, null, null, null, null);
                //验证账号与改密口令是否相符
                while (cursor.moveToNext()) {
                    if (userName.equals(cursor.getString(cursor.getColumnIndex("user")))&&
                            gmkl.equals(cursor.getString(cursor.getColumnIndex("reSetPass")))) {
                            ContentValues values = new ContentValues();
                            values.put("pass", newPass);
                            db.update("user", values, "user=?", new String[]{userName});
                            Toast.makeText(context,"密码修改成功!\n请牢记新密码并使用新密码登录",Toast.LENGTH_LONG).show();
                            isReSetPassFinish=true;
                            break;
                    }
                }
                //未成功匹配账号&改密口令
                if (!isReSetPassFinish){
                    Toast.makeText(context,"账号不存在或改密口令错误",Toast.LENGTH_LONG).show();
                }
            }
            return isReSetPassFinish;
        }
    }
    


    应该很清楚了

    展开全文
  • Android开发:OPPO企业开发者账号注册

    千次阅读 2018-09-10 15:20:59
    Android开发过程中,难免会接触到应用市场账号的申请工作,安卓应用上架的平台比较繁杂,比苹果的上架麻烦的多。想要上架应用,首先要申请上架需要使用到的开发者账号,那么今天就来说说OPPO的开发者账号申请步骤...

           在Android开发过程中,难免会接触到应用市场账号的申请工作,安卓应用上架的平台比较繁杂,比苹果的上架麻烦的多。想要上架应用,首先要申请上架需要使用到的开发者账号,那么今天就来说说OPPO的开发者账号申请步骤。OPPO的开发者平台账号申请比较简单,直接使用公司负责人手机号申请注册OPPO账号即可,然后登陆到OPPO开发者平台官网,进入到账号管理界面修改相关信息,最后认证即可,具体步骤如下。

             一、温馨提示
    1. 只接受企业开发者进行注册,个人设计师注册请参考:OPPO主题设计师账号注册流程;
    2. 开发者认证帐号必须绑定邮箱,建议您使用公共邮箱,如使用个人邮箱,则可能因人员离职造成不便;
    3. 公司名称及联系人信息,请如实填写,以便我们及时与您联系;
    4. 您只有认证成功后,才可以在OPPO开放平台发布您的App;
    5. 游戏合作开发者,请您在获得认证后,尽早完善您的财务信息。

            二、所需资料
           企业营业执照、法人代表身份证要求:
    1. 企业营业执照扫描件必须为彩色,要求照片清晰,字迹清楚,无遮挡或涂改;
    2. 提供的营业执照经营范围必须与互联网有相关关系,否则不予审核通过;
    3. 企业法人身份证照片要求提供正反两面,并且照片可以放大,照片清晰无遮挡;
    4. 所有证件要求主体信息一致,并且真实有效,一经发现作假将永久冻结账号。

             三、注册流程

             流程图如下所示:

             四、详细说明
    1.点击注册入口

    2.填写注册信息
    账号密码必须包含大写、小写字母、数字、常用字符,如Mima001@,特殊字符必须使用半角符号。

    3.邮件激活账号
    登录注册邮箱,点击激活链接完成激活,如果你未收到邮件,可以点击“再次发送激活邮件”收取激活邮件。

    4.登录账号

    5.点击“立即申请成为开发者”

    6.选择账号类型(注意:个人账号目前暂不支持发布游戏和应用,只支持发布主题和字体壁纸)

    7.填写开发者信息并提交审核

    8.提交通过审核后就可以正式成为OPPO开放平台的企业开发者


            以上就是本节全部内容,欢迎关注三掌柜的微信公众号,欢迎关注!

     

    展开全文
  • Android开发:vivo企业开发者账号注册

    千次阅读 2018-09-11 11:13:35
    Android开发过程中,难免会接触到应用市场账号的申请工作,安卓应用上架的平台比较繁杂,比苹果的上架麻烦的多。想要上架应用,首先要申请上架需要使用到的开发者账号,那么今天就来说说vivo的开发者账号申请步骤...

          在Android开发过程中,难免会接触到应用市场账号的申请工作,安卓应用上架的平台比较繁杂,比苹果的上架麻烦的多。想要上架应用,首先要申请上架需要使用到的开发者账号,那么今天就来说说vivo的开发者账号申请步骤。vivo的开发者平台账号申请比较简单,直接使用公司负责人手机号申请注册vivo账号即可,然后登陆到vivo开发者平台官网,进入到账号管理界面修改相关信息,最后认证即可,具体步骤如下。

           一、材料准备
          企业开发者注册请准备以下资质(二选一):
        (1)营业执照、组织机构代码证、税务登记证、法人手持身份证照片;
        (2)营业执照(三证合一)、法人手持身份证照片。
          备注:“三证合一”,就是将企业依次申请的工商营业执照、组织机构代码证和税务登记证三证合为一证,证件名称为“营业执照”。对应的证件号码为18位数字+字母的统一社会信用代码。
           资质上传证件扫描件(必须加盖公司公章),要求如下:
        (1)证照必须在有效期内,且红色公章清晰可见;
        (2)提交的应用跟营业执照经营范围保持一致;
        (3)所有证照主体必须保持一致;
        (4)关键信息必须清晰,格式支持:JPG/PNG,每张图片大小2M以内;
        (5)企业法人本人手持身份证信息扫描件(必须与营业执照法人一致), 需保证证件号码清晰可见。

           二、企业开发者注册流程
          1.在首页右上角选择注册


          2.填写注册信息


          3.填写账户资料,上传企业资质,提交审核

           相比之下,vivo和OPPO的开发者账号申请认证都比较简单,只在一个界面就操作完成了,但是其他的步骤需要在认证之后需要填写其他的资料,总体上还是比较简单的。

     

            以上就是本节全部内容,欢迎关注三掌柜的微信公众号,欢迎关注!

     

    展开全文
  • Android注册Facebook开发者账号

    千次阅读 2019-09-03 19:40:58
    兄弟们请收下,003! 第一步:打开官网首页,... ... ...第三步:填写相关注册信息,如下图: ...第四步:点击"确定",完成注册,如下图: ...第五步:Facebook账号的一些相关设置,如下图: 第六步:再次打开官网首页,...
  • Android登录注册记住账号密码

    千次阅读 2019-05-26 19:48:48
    checkboxHide.setButtonDrawable(new ColorDrawable(Color.TRANSPARENT)); //默认不选中 checkboxHide.setChecked(false); ... checkboxHide.setOnClickListener(new View.OnClickListener() { ...
  • APP上架之前应该先注册开发者账号。这里的方法包括注册帐号和后期上架及一些需要注意的问题。注意:首次提交应用绝对不能随便删除,否则后面再提交会显示应用APP冲突,会要求走应用认领流程,那个时候就会相当麻烦啦...
  • 分析:SharedPreferences可将数据存储到本地的配置文件中SharedPreferences会记录CheckBox的状态,如果CheckBox被选,则将配置文件中记录的账号密码信息回馈给账号密码控件,否则清空。SharedPreferences使用方法:1...
  • Dr.Fone for Android 安卓数据恢复软件,非常好用的一款安卓数据恢复软件,激活和使用的时候需要断开网络连接
  • } private void registerBroadcast() { // 注册广播接收者 receiver =new MyReceiver(); IntentFilter filter =new IntentFilter(); filter.addAction("exit_app"); mContext.registerReceiver(receiver,filter); }...
  • android账号与同步之账号管理

    千次阅读 2014-07-06 23:33:30
    android账号与同步之账号管理android账号与同步之同步实现android账号与同步之发起同步在android提供的sdk中,samples目录下有一个叫SampleSyncAdapter的示例,它是一个账号与同步的实例,比如Google原始的android...
  • android开发中,我们做用户登录和注册的时候需要将用户名和密码保存,下次打开的时候记住应户名和密码。关于注册保存用户密码的方式和记住用户名和密码的保存方式有多种,这里介绍SharaedPreferenses保存方式。...
  • Android Market 账号注册和应用发布教程 发表于 七月 11, 2011 Android Market是一个由谷歌公司为Android系统用户创建的服务,是Android应用一个很好的发布平台。目前Android电子市场中的软件下载量已...
  • Android账号管理机制

    千次阅读 2016-05-09 15:18:55
    android提供的sdk中,samples目录下有一个叫SampleSyncAdapter的示例,它是一个账号与同步的实例,比如Google原始的android手机可以使用Google账号进行数据的同步。具体 的比如你想实时同步你的通讯录到服务端,这...
  • android的应用中越来越多的包含了网络互动功能,这就带来了注册,登陆账号功能。本文完整的介绍对话框的方式实现用户登陆功能。登陆效果: 应用程序判断当前用户还未登陆,弹出登陆对话框,用户输入账号和密码信息...
  • 安卓登录注册

    2018-07-31 20:34:04
    使用Bmob作为后台封装好的登录注册安卓工程项目,其中注册实现了短信验证码,使用手机号登录,只要把其中的Bmob的application_id替换成自己的就能直接使用。
  • 王者荣耀由于玩家数量巨大,而且该手游已正式运营五年,所有有很多小伙伴已经更换手机,或者正在计划更换手机,于是就...于是,在众多玩家的建议下,官方在近期会推出账号跨系统转移功能,可以将ios大号转移至安卓...
  • OPPO+realme真我 安卓10+安卓11系统 手戳通用方案 手撕帐号激活 链接:https://pan.baidu.com/s/1uoWRJMsh4yw0qyPOgz7eMA 提取:6666
  • 很多玩家在玩《皇室战争》的时候出于各种原因想要换一个账号玩,可使找不到换账号的界面,那么应该怎么操作呢?下面是皇室战争切换账号方法。 IOS切换方法一般情况下切换账号,只要点击ios系统【设置】进入界面可以...
  • 10个 安卓应用商店开发者公司账号注册(2021最新最全) 加粗样式安卓市场比较多,每个市场注册资源和要求大体一致,不过部分市场也有部分不一致的地方。 为此,梳理了一下10个比较常见的市场开发者账号注册流程以及...
  • android账号与同步之同步实现

    千次阅读 2014-07-12 12:56:00
    android账号与同步之账号管理android账号与同步之同步实现android账号与同步之发起同步上一篇博文我先介绍了账号与同步的账号管理,这篇就介绍一下另一部分,就是android给提供的sync同步机制的使用。其实sync机制的...
  • Android登录注册

    万次阅读 多人点赞 2017-12-11 14:52:45
    Android 登录注册页面实现分享学了一段时间的Android开发,通过写博客记录一下学习过程遇到的问题和一些想要分享的东西。页面效果如图所示:整个登录和注册页面都是连接服务器进行操作的,客户端向服务端发出请求,...
  • http://blog.csdn.net/myboyer/article/details/8984477
  • Android帐号同步是一个系统的机制,是由系统调度的,可以配置运行策略的同步机制,实际上通常是配合同步适配器工作的https://developer.android.google.cn/training/sync-adapters/index.html 从文档的描述及实际的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,478
精华内容 13,391
关键字:

安卓账号注册