ipad 怎么注册和激活iCloud账号及备份?

 更新时间:2016年9月20日 19:59  点击:1936
ipad 怎么注册和激活iCloud账号呢,今天进货了一个ipad air了,想看看苹果手机的icloud怎么使用,下面小给来给各位同学分享一下具体操作方法。

iCloud是什么?

iCloud 为你带来理想的云服务,它可存放你的音乐、照片、app、日历、文档,以及更多内容,还能以无线方式将它们推送到你所有的设备上

怎么注册和激活iCloud账号

第一步

  进入设置,选择iCloud

  第二步

  选择“创建新Apple ID”,已经有的请直接登录吧。

  第三步

  店面一般选中国,然后点“下一步”

  

  第四步

  选择“同意”

  第五步

  根据下面的图,填写好注册的信息,点击“下一步”

  第六步

  填写好付款相关信息,点击“下一步”

  第七步

  点击“完成”

  第八步

  登录你注册时候的邮箱,打开激活邮件,点击“立刻激活”

  第九步

  在新的页面里填写上我们注册的AppleID和密码,点击“验证地址”

  注册完成了!

  第十步

  登录上Apple ID之后,打开下面显示的所有服务内容,iCloud激活成功!

iCloud云备份怎么用

1进入iCloud-存储与备份,打开"iCloud云备份选项"。


2接下来iCloud将会帮你自动进行数据备份,如需更多存储空间可以付费获得!


3."管理存储空间"会显示备份和邮件所占用的空间;
选择要管理设备的备份,iCloud会显示本机信息和最新备份的时间和大小等信息。


4备份选项中可以选择不备份到iCloud中的数据,这里自己按需选择即可。
iCloud默认只显示五条备份信息,查看更多请点击"显示所有应用程序"
可以将不需要数据备份的应用程序选项逐一关闭!


5如果需要清空iCloud云备份,点击最下方的"删除备份"即可

重置手机将会清除手机内部存储设备中的全部数据,包括短信息、联系人、下载的应用程序等。因此,在重置之前,请将手机中的有用数据进行备份,以免丢失。如需重置手机,请按以下步骤操作

1.在待机页面下,点击【应用程序】。



2.点击【设定】。



3.点击【一般】,并点击【重置】。



4.点击【恢复出厂设定】。



5. 选择【重置手机】。


 

提示:果您已登录三星账户,并已勾选【重新激活锁定】(路径:设定-一般-安全),需输入三星账户密码后方可重置。

 

 

 


6.点击【全部删除】。



以上操作完成后,待自动重新启动后,手机就重置成功了。

我们知道在开发中应用程序与服务器通信可以采用两种模式:TCP可靠通信 和UDP不可靠通信,大多数据情况下我们会选择前者了,下面我来给大家介绍一下Android的Socket通讯编程实例。

android客户端通过socket与服务器进行通信可以分为以下几步:

应用程序与服务器通信可以采用两种模式:TCP可靠通信 和UDP不可靠通信。

(1)通过IP地址和端口实例化Socket,请求连接服务器:

 代码如下 复制代码

     socket = new Socket(HOST, PORT);   //host:为服务器的IP地址  port:为服务器的端口号

(2)获取Socket流以进行读写,并把流包装进BufferWriter或者PrintWriter:

 代码如下 复制代码

   PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true);  

   这里涉及了三个类:socket.getOutputStream得到socket的输出字节流,OutputStreamWriter是字节流向字符流转换的桥梁,BufferWriter是字符流,然后再包装进PrintWriter。

(3)对Socket进行读写

 代码如下 复制代码

     if (socket.isConnected()) {
                    if (!socket.isOutputShutdown()) {
                        out.println(msg);
                    }
                }

(4)关闭打开的流

 代码如下 复制代码

      out.close();


下面简单演示与Android如何实现套接字的通信:

服务器程序
服务器程序需要在PC上运行,该程序比较的简单,因此不需要建立Android项目,直接定义一个JAVA类,并且运行该类即可。它仅仅建立ServerSocket监听,并使用Socket获取输入输出流。

 代码如下 复制代码

import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class SimpleServer {

    /**
     * @param args
     * @throws IOException
     */
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub

        //创建一个ServerSocket,用于监听客户端socket的连接请求
        ServerSocket ss=new ServerSocket(30000);
        //采用循环不断接受来自客户端的请求,服务器端也对应产生一个Socket
        while(true){
            Socket s=ss.accept();
            OutputStream os=s.getOutputStream();
            os.write("您好,您收到了服务器的新年祝福!n".getBytes("utf-8"));
            os.close();
            s.close();
    }

    }}

客户端程序

 代码如下 复制代码

package my.learn.tcp;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.EditText;

public class SimpleClient extends Activity {
    private EditText show;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        show = (EditText) findViewById(R.id.show);

        try {

            Socket socket = new Socket("自己计算机的IP地址", 30000);
            //设置10秒之后即认为是超时
            socket.setSoTimeout(10000);
            BufferedReader br = new BufferedReader(new InputStreamReader(
                    socket.getInputStream()));
            String line = br.readLine();

            show.setText("来自服务器的数据:"+line);

            br.close();
            socket.close();

        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            Log.e("UnknownHost", "来自服务器的数据");
            e.printStackTrace();
        } catch (IOException e) {
            Log.e("IOException", "来自服务器的数据");
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

另外,在Manifest.xml文件当中,需要对互联网的访问进行授权:

 代码如下 复制代码

<uses-permission  android:name="android.permission.INTERNET"/>


 在写代码的过程中一定要注意对socket  输入流  输出流的关闭

本文章来给各位同学介绍一下Android开发之ImageView通过matrix实现手势缩放操作方法,我们知道安卓中ImageView本身有scaleType属性,通过设置android:scaleType=matrix 可以用很少的代码就实现缩放功能了,下面我们来看看。

关于ImageView的手势缩放,有很多种方法,绝大多数开源自定义缩放都是修改了ondraw函数来实现的。但是ImageView本身有scaleType属性,通过设置android:scaleType="matrix" 可以用很少的代码就实现缩放功能。缩放的优点是实现起来简单,同时因为没有反复调用ondraw函数,缩放过程中不会有闪烁现象。

MATRIX矩阵可以动态缩小放大图片来显示,缩小图片:

 代码如下 复制代码

//获得Bitmap的高和宽
int bmpWidth=bmp.getWidth();
int bmpHeight=bmp.getHeight();
                     
//设置缩小比例
double scale=0.8;
//计算出这次要缩小的比例
scaleWidth=(float)(scaleWidth*scale);
scaleHeight=(float)(scaleHeight*scale);
                     
//产生resize后的Bitmap对象
Matrix matrix=new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizeBmp=Bitmap.createBitmap(bmp, 0, 0, bmpWidth, bmpHeight, matrix, true);

下面将一个自定义的实现了手势缩放的ImageView代码拷贝如下:

 代码如下 复制代码

package com.jcodecraeer.stargallerry;
import android.content.Context;
import android.graphics.Matrix;
import android.graphics.PointF;
import android.util.AttributeSet;
import android.util.FloatMath;
import android.view.MotionEvent;
import android.widget.ImageView;
public class ImageTouchView extends ImageView {
                                                                                                                                                                                                                                                                                                                                                                                                                            
    private PointF startPoint = new PointF();
    private Matrix matrix = new Matrix();
    private Matrix currentMaritx = new Matrix();
                                                                                                                                                                                                                                                                                                                                                                                                                            
    private int mode = 0;//用于标记模式
    private static final int DRAG = 1;//拖动
    private static final int ZOOM = 2;//放大
    private float startDis = 0;
    private PointF midPoint;//中心点
                                                                                                                                                                                                                                                                                                                                                                                                                            
    /**
     * 默认构造函数
     * @param context
     */
    public ImageTouchView(Context context){
        super(context);
    }
    /**
     * 该构造方法在静态引入XML文件中是必须的
     * @param context
     * @param paramAttributeSet
     */
    public ImageTouchView(Context context,AttributeSet paramAttributeSet){
        super(context,paramAttributeSet);
    }
                                                                                                                                                                                                                                                                                                                                                                                                                            
    public boolean onTouchEvent(MotionEvent event) {
        switch (event.getAction() & MotionEvent.ACTION_MASK) {
        case MotionEvent.ACTION_DOWN:
            mode = DRAG;
            currentMaritx.set(this.getImageMatrix());//记录ImageView当期的移动位置
            startPoint.set(event.getX(),event.getY());//开始点
            break;
        case MotionEvent.ACTION_MOVE://移动事件
                                                                                                                                                                                                                                                                                                                                                                                                                             
            if (mode == DRAG) {//图片拖动事件
                float dx = event.getX() - startPoint.x;//x轴移动距离
                float dy = event.getY() - startPoint.y;
                matrix.set(currentMaritx);//在当前的位置基础上移动
                matrix.postTranslate(dx, dy);
                                                                                                                                                                                                                                                                                                                                                                                                                                        
            } else if(mode == ZOOM){//图片放大事件
                float endDis = distance(event);//结束距离
                if(endDis > 10f){
                    float scale = endDis / startDis;//放大倍数
                    //Log.v("scale=", String.valueOf(scale));
                    matrix.set(currentMaritx);
                    matrix.postScale(scale, scale, midPoint.x, midPoint.y);
                }
                                                                                                                                                                                                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                                                                                                                                                                                                        
            }
            break;
                                                                                                                                                                                                                                                                                                                                                                                                                                    
        case MotionEvent.ACTION_UP:
            mode = 0;
            break;
        //有手指离开屏幕,但屏幕还有触点(手指)
        case MotionEvent.ACTION_POINTER_UP:
            mode = 0;
            break;
        //当屏幕上已经有触点(手指),再有一个手指压下屏幕
        case MotionEvent.ACTION_POINTER_DOWN:
            mode = ZOOM;
            startDis = distance(event);
                                                                                                                                                                                                                                                                                                                                                                                                                                    
            if(startDis > 10f){//避免手指上有两个茧
                midPoint = mid(event);
                currentMaritx.set(this.getImageMatrix());//记录当前的缩放倍数
            }
                                                                                                                                                                                                                                                                                                                                                                                                                                    
            break;
        }
        this.setImageMatrix(matrix);
        return true;
    }
                                                                                                                                                                                                                                                                                                                                                                                                                            
    /**
     * 两点之间的距离
     * @param event
     * @return
     */
    private static float distance(MotionEvent event){
        //两根线的距离
        float dx = event.getX(1) - event.getX(0);
        float dy = event.getY(1) - event.getY(0);
        return FloatMath.sqrt(dx*dx + dy*dy);
    }
    /**
     * 计算两点之间中心点的距离
     * @param event
     * @return
     */
    private static PointF mid(MotionEvent event){
        float midx = event.getX(1) + event.getX(0);
        float midy = event.getY(1) - event.getY(0);
                                                                                                                                                                                                                                                                                                                                                                                                                                
        return new PointF(midx/2, midy/2);
    }
}


在xml中这样使用自定义的ImageView:

<com.jcodecraeer.stargallerry.ImageTouchView
    android:id="@+id/image"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scaleType="matrix"
    />

这里有个小细节, android:layout_width和android:layout_height这里都是="match_parent" ,如果我们换成wrap_content的话,你会发现图片只能在一个很小的区间缩放。而match_parent则可以很随意的在整个屏幕缩放。

但是match_parent导致了一个让人意外的问题:

如果将imageView的宽度和高度都设置为填充整个父控件,然后scaleType设置成Matrix,则图片不是居中显示的,整个图片靠上去了,这里我还没有找出原因,不过在网上找出了解决的办法:


先设置ImageView的ScaleType="CENTER"
要给控件添加拖动与放大缩水前。再把ScaleType设为:"Matric"
(即ImageView设置OnTouchListener前更改属性即可)

其中“ImageView设置OnTouchListener前更改属性”在我们这个例子中应替换为在caseMotionEvent.ACTION_MOVE://移动事件开始更改属性。在代码中更改ScaleType应该这样做:

this.setScaleType(ImageView.ScaleType.MATRIX);

说到ScaleType,我们看看ImageView.ScaleType 值的意义和区别:

CENTER /center  按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示

CENTER_CROP / centerCrop  按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)

CENTER_INSIDE / centerInside  将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽

FIT_CENTER / fitCenter  把图片按比例扩大/缩小到View的宽度,居中显示

FIT_END / fitEnd   把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置

FIT_START / fitStart  把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置

FIT_XY / fitXY  把图片不按比例扩大/缩小到View的大小显示

MATRIX / matrix 用矩阵来绘制

可能不秒用户会发现用css定义好的内容在手机中显示不那么标准了,下面小编来给大家介绍移动web开发无法正确按照响应样式显示解决办法。

记最近在做移动混合应用的开发,遇到的一个问题:android无法按照指定的响应样式正确显示。

首先说一下两次遇到此问题的环境:
1.使用jQuery Mobile写界面时,在测试机上(G7)字体和界面显示偏小。
2.在G7上使用自定义的响应样式进行布局时没有问题,界面显示正常。但在小米2S上,界面却显示错误。通过JS脚本获取了一下小米2S的屏幕宽度,发现获得的值并不是想像的720px,而是360px,所以响应的样式会发生错误。

 
在没有设置target-densitydpi时


在设置target-densitydpi时,得到正确的响应布局

原来在android上,会通过 target-densitydpi 来获取DPI。在不设置的情况下,默认选择的是 medium-dpi(160)。

上面的两个问题,可以通过给元标签添加target-densitydpi=device-dpi来解决,代码如下。

 代码如下 复制代码

<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">

[!--infotagslink--]

相关文章

  • Linux下MySQL数据库的备份与还原

    深入解析Linux下MySQL数据库的备份与还原...2013-09-11
  • Ruby on Rails实现最基本的用户注册和登录功能的教程

    这里我们主要以has_secure_password的用户密码验证功能为中心,来讲解Ruby on Rails实现最基本的用户注册和登录功能的教程,需要的朋友可以参考下...2020-06-30
  • MySQL数据库备份还原方法

    MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:/Program Files/MySQL/MySQL Server 4.1/bin (或者直接将windows的环境变量path中添加该目录) ...2013-09-26
  • mysql备份的三种方式详解

    一、备份的目的做灾难恢复:对损坏的数据进行恢复和还原需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用二、备份需要考虑的问题可以容忍丢失多长时间的数据;恢复数据要在多长时间内完; 恢复的时候...2013-10-04
  • Android实现简单用户注册案例

    这篇文章主要为大家详细介绍了Android实现简单用户注册案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-05-26
  • php实例分享之mysql数据备份

    备份:表结构和数据完全分开,默认有一个文件会记录所有表的结构,然后表中数据的备份 如果超过分卷的大小则会分成多个文件,不然则一个文件,参考了别人的代码,不过写的嘛,差强 人意,以后慢慢改吧。。。代码如下:复制代码 代码如...2014-05-31
  • MySQL数据库遭到攻击篡改(使用备份和binlog进行数据恢复)

    这篇文章主要介绍了MySQL数据库遭到攻击篡改(使用备份和binlog进行数据恢复),需要的朋友可以参考下...2016-04-26
  • c实现linux下的数据库备份

    本文给大家简单介绍下c实现linux下的数据库备份的方法和具体的源码,十分的实用,有需要的小伙伴可以参考下。...2020-04-25
  • 超详细的php用户注册页面填写信息完整实例(附源码)

    注册页面是大多数网站必备的页面,所以很有必要对自己的注册页面做些精心的设计。下面三张图,第一张是注册的展示页面,第二张思维导图就一个简单的逻辑,第三张是通过firebug查看调用的JS文件。 一、给每个输入框写下说明在...2015-11-24
  • MySQL备份恢复设计思路

    这篇文章主要介绍了MySQL备份恢复设计思路,帮助大家更好的维护数据库,感兴趣的朋友可以了解下...2020-10-15
  • 帝国CMS会员注册字段增加编辑器、发送短消息改为编辑框

    通过本教程可以实现帝国CMS后台给前台注册用户发消息,把内容输入框改为编辑器,可上传图片,等打开文件\e\admin\member\SendMsg.php 大约84行<textarea name="msgtext" cols="6...2016-01-27
  • 用批处理实现自动备份和清理mysql数据库的代码

    有网友问我在win2003下如何自动备份MySQL数据库,既然是自动备份,那肯定得写脚本。我想了想,这个并不是很困难,是很容易实现的,备份可以用脚本实现,那自动又该如何实现呢?也很简单,就用windows自带的“任务计划”功能...2013-09-11
  • intellij idea旗舰版解决学生无法注册问题详解

    这篇文章主要介绍了intellij idea旗舰版解决学生无法注册问题详解,文中通过图文示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-20
  • postgreSQL使用pgAdmin备份服务器数据的方法

    这篇文章主要介绍了postgreSQL使用pgAdmin备份服务器数据的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-04
  • MySQL使用xtrabackup进行备份还原操作

    这篇文章主要为大家详细介绍了MySQL如何使用xtrabackup进行备份还原操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-12-02
  • mysql自动定时备份数据库的最佳方法(windows服务器)

    网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作,这里脚本之家小编为大家分享与整理了几个软件方便大家使用...2016-11-22
  • 分布式文档存储数据库之MongoDB备份与恢复的实践详解

    这篇文章主要介绍了分布式文档存储数据库之MongoDB备份与恢复,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-12-08
  • MySQL5.7 mysqldump备份与恢复的实现

    这篇文章主要介绍了MySQL5.7 mysqldump备份与恢复的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
  • 关于web注册页的可用性分析

      在Nielsen的可用性工程里提到可用性的其中一个原则是Errors,记得刚开博客的时候也穷举了一些关于可用性方面的文章,里面将这个errors翻译成了“少错”,实际上...2016-09-20
  • 详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)

    这篇文章主要介绍了微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-21