手机通讯 - CSDN
  • 手机通讯录(纯java)

    2018-08-16 09:46:45
    AdressBook.java 链接: https://pan.baidu.com/s/1T_qtkjNCPkeRJKAeVPuSsw 密码: ... import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader;...import java.io.FileWriter;...imp...

    AdressBook.java

    链接: https://pan.baidu.com/s/1T_qtkjNCPkeRJKAeVPuSsw 密码: bepd

    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Scanner;
    public class AdressBook {
    	public static void main(String []args) throws IOException{
    		while(true){
    			System.out.println("      欢迎来到私人通讯录");
    			System.out.println("请选择你要执行的功能");
    			System.out.println("添加(1)");
    			System.out.println("删除(2)");
    			System.out.println("按照姓名查询(3)");
    			System.out.println("按照手机号查询(4)");
    			System.out.println("修改(5)");
    			System.out.println("按照字母顺序全部显示(6)");
    			System.out.println("退出(7)");
    			Scanner sc=new Scanner(System.in);
    			int x=sc.nextInt();
    			switch(x){
    			case 1:add();break;
    			case 2:delete();break;
    			case 3:demandName();break;
    			case 4:demandNumber();break;
    			case 5:modification();break;
    			case 6:display();break;
    			case 7:exit();break;
    			}
    		}
    	
    	}
    	//将文件中的东西写入集合中
    	 public static void readData( ArrayList<Person> array)
    	            throws IOException {
    	        // 创建输入缓冲流对象
    	        BufferedReader br = new BufferedReader(new FileReader("person.txt"));
    	        String line;
    	        while ((line = br.readLine()) != null) {
    	            String[] datas = line.split(",");
    	            Person p = new Person();
    	            p.setName(datas[0]);
    	            p.setTp(datas[1]);
    	            p.setAdress(datas[2]);
    	            array.add(p);
    	        }
    	        br.close();
    	    }
    
    	    // 把集合中的数据写入文件
    	    public static void writeData( ArrayList<Person> array)
    	            throws IOException {
    	        // 创建输出缓冲流对象
    	        BufferedWriter bw = new BufferedWriter(new FileWriter("person.txt"));
    
    	        for (int x = 0; x < array.size(); x++) {
    	            Person p = array.get(x);
    	            StringBuilder sb = new StringBuilder();
    	            sb.append(p.getName()).append(",").append(p.getTp()).append(",").append(p.getAdress());
    	            bw.write(sb.toString());
    	            bw.newLine();
    	            bw.flush();
    	        }
    
    	        bw.close();
    	    }
    	    //添加
    	    public static void add() throws IOException{
    	    	//创建集合对象
    	        ArrayList<Person> array = new ArrayList<Person>();
    	        //从文件中把数据读取到集合中
    	        readData(array);
    	                
    	        //创建键盘录入对象
    	        Scanner sc = new Scanner(System.in);
    	        String name;
    	       
    	        	while(true){
    		            System.out.println("请输入姓名:");
    		            name = sc.nextLine();
    		            int x=-1;
    		           
    		            for(int i=0; i<array.size(); i++) {
    		                Person p = array.get(i);
    		                
    		                if(p.getName().equals(name)) {
    		                   x= -2; //说明这个人名已经存有寸有手机号了
    		                    break;
    		                }
    		            }
    		            
    		            if(x==-2) {
    		                System.out.println("你输入的姓名已经有人用了,请重新输入");
    		            }else {
    		            	break;  
    		            }
    
    	        	}
    	            System.out.println("请输入手机号:");
         	        String tp = sc.nextLine();
         	        Person p = new Person();
         	        System.out.println("请输入地址");
         	        String adress=sc.nextLine();
         	        p.setName(name);
         	        p.setTp(tp);
         	        p.setAdress(adress);
         	       System.out.println(tp);
         	        array.add(p);
         	        //把集合中的数据重新写回到文件
         	        writeData(array);
         	        System.out.println("添加成功");
    
    	    }
    	    
    	    //删除
    	    public static void delete() throws IOException{
    	    	ArrayList<Person> array = new ArrayList<Person>();
    	        //从文件中把数据读取到集合中
    	        readData(array);        
    	        //创建键盘录入对象
    	        Scanner sc = new Scanner(System.in);
    	        System.out.println("请输入你要删除的人的姓名");
    	        String name=sc.nextLine();
    	        int x=-1;
    	        for(int i=0;i<array.size();i++){
    	        	Person p=array.get(i);
    	        	if(p.getName().equals(name)){
    	        		x=1;
    	        		System.out.println(x);
    	        		array.remove(i);
    	        		writeData(array);
    	        		System.out.println("删除成功");
    	        		break;
    	        	} 	
    	        }
    	        if(x==-1){
    	        	
    	        	System.out.println("输入的姓名不存在");
    	        }
    	        
    	    }
    	    //按照姓名查询
    	    public static void demandName() throws IOException{
    	    	ArrayList<Person> array=new ArrayList<Person>();
    	    	readData(array);
    	    	Scanner sc= new Scanner(System.in);
    	    	System.out.println("请输入你要查看的的人的姓名:");
    	    	String name=sc.nextLine();
    	    	int x=-1;
    	    	for(int i=0;i<array.size();i++){
    	    		Person p=array.get(i);
    	    		if(p.getName().equals(name)){
    	    			x=1;
    	    			System.out.println("您要查看的人的姓名是:"+name+"手机号是:"+p.getTp()+"地址是:"+p.getAdress());
    	    		}
    	    	}
    	    	if(x==-1){
    	    		System.out.println("你要查看的人不存在");
    	    	}
    	    	
    	    }
    	    //按照手机号查询
    	    public static void demandNumber() throws IOException{
    	    	ArrayList<Person> array=new ArrayList<Person>();
    	    	readData(array);
    	    	Scanner sc= new Scanner(System.in);
    	    	System.out.println("请输入你要查看的的人的手机号:");
    	    	String tp=sc.nextLine();
    	    	int x=-1;
    	    	for(int i=0;i<array.size();i++){
    	    		Person p=array.get(i);
    	    		if(tp.equals(p.getTp())){
    	    			x=1;
    	    			System.out.println("您要查看的人的姓名是:"+p.getName()+"手机号是:"+p.getTp()+"地址是:"+p.getAdress());
    	    		}
    	    	}
    	    	if(x==-1){
    	    		System.out.println("你要查看的人不存在");
    	    	}
    	    }
    	    //修改
    	    public static void modification()throws IOException{
    	    	ArrayList <Person> array=new ArrayList<Person>();
    	    	readData(array);
    	    	Scanner sc=new Scanner(System.in);
    	    	System.out.println("请输入你要修改的人的名字");
    	    	String name=sc.nextLine();
    	    	String tp = null;
    	    	String adress=null;
    	    	int x=-1;
    	    	for(int i=0;i<array.size();i++){
    	    		Person p=array.get(i);
    	    		if(p.getName().equals(name)){
    	    			tp=p.getTp();
    	    			adress=p.getAdress();
    	    			x=i;
    	    			break;
    	    		}
    	    	}
    	    	if(x==-1){
    	    		System.out.println("你输入的名字不存在");
    	    	}else{
    	    		Person p=new Person();
    	    		System.out.println("请问您是要修改名字(1)还是修改手机号(2)还是修改地址(3)或者全部修改(4)");
        			int y=sc.nextInt();
        			if(y==1){
        				Scanner sc1=new Scanner(System.in);
    	    			System.out.println("请输入名字:");
    	    			String name1=sc1.nextLine();
    	    			int h=-1;
    	    			for(int i=0;i<array.size();i++){
    	    				Person p2=array.get(i);
    	    				if(p2.getName().equals(name1)){
    	    					h=-2;
    	    					break;
    	    				}
    	    			}
    	    			if(h==-2){
    	    				System.out.println("这个名字已经存在");
    	    			}else{
    		    			p.setName(name1);
    		    			p.setTp(tp);
    		    			p.setAdress(adress);
    		    			array.set(x, p);
    		    			writeData(array);
    		    			System.out.println("修改成功");
    	    			}
    
        			}    			
        			if(y==2){
        				Scanner sc1=new Scanner(System.in);
    	    			System.out.println("请输入手机号");
    	    			String tp1=sc1.nextLine();
    	    			p.setName(name);
    	    			p.setAdress(adress);
    	    			p.setTp(tp1);
    	    			array.set(x, p);
    	    			writeData(array);
    	    			System.out.println("修改成功");
        			}
        			if(y==3){
        				Scanner sc1=new Scanner(System.in);
        				System.out.println("请输入地址");
    	    			String address1=sc1.nextLine();
    	    			p.setName(name);
    	    			p.setAdress(address1);
    	    			p.setTp(tp);
    	    			array.set(x, p);
    	    			writeData(array);
    	    			System.out.println("修改成功");
        			}
        			if(y==4){
        				//全部都改
        				Scanner sc1=new Scanner(System.in);
    
    	    			System.out.println("请输入名字");
    	    			String name1=sc1.nextLine();
    	    			int h=-1;
    	    			for(int i=0;i<array.size();i++){
    	    				Person p2=array.get(i);
    	    				if(p2.getName().equals(name1)){
    	    					h=-2;
    	    					break;
    	    				}
    	    			}
    	    			if(h==-2){
    	    				System.out.println("这个名字已经存在");
    	    			}else{
    		    			System.out.println("请输入手机号");
    		    			String tp1=sc1.nextLine();
    	    				System.out.println("请输入地址");
    		    			String address1=sc1.nextLine();
    		    			p.setName(name1);
    		    			p.setTp(tp1);
    		    			p.setAdress(address1);
    		    			array.set(x, p);
    		    			writeData(array);
    		    			System.out.println("修改成功");
    	    			}
    	    			
        			}
    
    	    	}
    	    	
    	    		    	
    	    }
    	    //按照字母顺序全部显示
    	    public static void display()throws IOException{
    	    	ArrayList<Person> array=new ArrayList<Person>();
    	    	readData(array);
    	    	System.out.println("姓名     手机号     地址");
    	    	for(int x=0;x<array.size();x++){
    	    		for(int j=0;j<(array.size()-x-1);j++){
    		    		Person p1=array.get(j);
    		    		Person p2=array.get(j+1);
    		    		String name1=p1.getName();
    		    		String name2=p2.getName();
    	    			if(name1.compareTo(name2)>0){
    	    				p1.setName(name2);
    	    				p2.setName(name1);
    	    			}
    	    		}
    	    	}
    	    	writeData(array);
    	    	ArrayList<Person> array1=new ArrayList<Person>();
    	    	readData(array1);
    	    	for(int i=0;i<array1.size();i++){
    	    		Person p=array1.get(i); 
    	    		System.out.println(p.getName()+" "+" "+" "+" "+" "+" "+" "+p.getTp()+" "+" "+" "+" "+" "+" "+p.getAdress());
    	    		
    	    	}
    	    	
    	    	
    	    }
    	    public static void exit()throws IOException{
    	    	System.out.println("谢谢使用");
    	    	System.exit(0);
    	    }
    
    }
    

    PersonBook.java

    public class Person {
    	//手机号
    	private String tp;
    	private String name;
    	private String adress;
    	public Person(){
    		
    	}
    	
    	public Person(String name,String tp,String adress){
    		this.tp=tp;
    		this.name=name;
    		this.adress=adress;
    		
    	}
    
        public String getTp() {
            return tp;
        }
    
        public void setTp(String tp) {
            this.tp = tp;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
        public void setAdress(String adress){
        	this.adress=adress;
        }
        public String getAdress(){
        	return adress;
        }
    }
    

     

    展开全文
  • 首先先介绍一下图中的...顾名思义为与我们手机信号等相关信息有关。  MSC为程控交换机 ,就是一般在市局机房里面,我们电话完成线路交换的重要设备。  HLR 为归属位置寄存器,存放号码资源,我们用户的信息等以及...

    首先先介绍一下图中的设备: 


    BTS 基站,一般为我们看到的信号塔下的小房子里面的设备 

    BSC为基站控制器, 一般在运营商机房中摆放,通常控制多个BTS工作, 

    以上两个为BSS系统,也就是无线接入系统。顾名思义为与我们手机信号等相关信息有关。 

    MSC为程控交换机 ,就是一般在市局机房里面,我们电话完成线路交换的重要设备。 

    HLR 为归属位置寄存器,存放号码资源,我们用户的信息等以及一些智能业务、电话费用等均在里面存放,是一个大型数据库。 

    VLR拜访位置寄存器,在下图中没有标注,因为现在的交换机设备已经将VLR功能包括了也就是说VLR与MSC是一个设备了,他的功能是临时存放用户号码资源以及控制电话接续资源等相关功能。

    下面将从按照一个最简单的电话接续流程来给大家讲解一下电话是怎么接续的。 

    1,首先为手机A拨打手机B 在这里A的号码为MSISDN 35860220001,这个号码可以理解为平时我们使用的8613XXXXXXXXX,那么现在就清晰了。当我们的手机通过信号塔呼叫B的号码060220002,这个时候BTS、BSC将呼叫信号透明传输给MSC进行分析。 



    2、MSC收到下面传来的信号,并且进行分析(中间还根据情况判断主叫和被叫的权限等),分析到被叫号码为我们正常用的MSISDN手机号码 060220002(在中国为13XXXXXXXXX) 



    3、通过这个号码060220002(在中国为13XXXXXXXXX)的前几位就能判断出这个号码归属在哪个HLR下面,并且同时向HLR发出所要改号码的信息资源,以便下一步电话接续之用。 



    4、消息到达HLR后,HLR通过被叫的号码MSISDN查询本身的数据库,在数据库对应的表中找到相关的信息,这里我们看到IMSI号码,其实这个号码才是为我们手号码的真是身份,里面包含的信息较多,我们可以不去理会。只关注下面信息即可如:B号码的当前归属在哪个MSC下 



    5、查询完毕之后,注意这个时候使用的为B的IMSI号码而不是MSISDN,然后根据上步找到了MSC2,并且询问MSC2在其归属下的B号码当前情况(例如是否当前具备呼叫条件),这步以及下部中在查询B号码情况的时候都用到了VLR的功能。 



    6、通过查询VLR看现在用户的位置信息,属于哪个小区下面,并且是否空闲,如果空闲,则有VLR临时分配一个能体现出自己位置信息的号码MSRN漫游号码(注意这个不是我们经常提到的漫游)3856077XXX,将改号码反馈给HLR。 



    7、HLR又将改号码发给主叫号码所在的MSC, 由主叫的MSC进行分析当前所有的号码信息(主要还是看被叫号码的MSRN) 



    8、通过分析被叫号码的MSRN 知道原来B手机在MSC2下面,于是直接选择一条线路想MSC2发出呼叫。(在这之前我们是听不到任何回铃音或者彩铃的) 



    9、MSC2接受到被叫号码B,一看原来是自己给出去的MSRN ,就知道是别人来找B听电话的, 于是就开始查找VLR表,看是否空隙,找到IMSI 又找到代表目前手机具体位置的TMSI号码(我忘记了是BSC上报给MSC和VLR的,还是VLR分配的了) 



    10、最后通过TMSI进行呼叫B的手机,这个时候主叫就能听到彩铃或者回铃音了,被叫的手机开始振铃(关于怎样收听到彩铃属于智能流程,暂不做叙述。)。最后被叫接通电话,释放MSRN这样一个临时资源。

    展开全文
  • 很多人认为通话记录没什么用,这是个误区,相比通讯录、短信、QQ和微信聊天记录,通话记录确实是略低一筹,但通话记录内可保存着那些你未存储的陌生手机号码。这些手机号码有用吗?有时候还真的很有用。所以,为什么...

    很多人认为通话记录没什么用,这是个误区,相比通讯录、短信、QQ和微信聊天记录,通话记录确实是略低一筹,但通话记录内可保存着那些你未存储的陌生手机号码。这些手机号码有用吗?有时候还真的很有用。所以,为什么大多数手机云备份带有“通话记录”的按钮,因为通话记录也很重要,不容忽视。如果通话记录误删了如何恢复呢?几天下班就来教你如何恢复手机通话记录吧!
    在这里插入图片描述
    第一步:首先我们在应用商城或者手机浏览器上面搜索“极速数据恢复”然后下载安装。
    在这里插入图片描述
    第二步:打开工具,我们就可以看到手机界面出现的几大恢复功能选项,选择“通话记录恢复”功能就可以了。
    在这里插入图片描述
    第三步:然后系统会对你的手机进行扫描,扫描的过程中我们只需要耐心等待几分钟就可以了。
    在这里插入图片描述
    第四步:扫描完成后会出现所有可恢复的通话记录,勾选你需要的通话记录,点击下方的恢复按钮“恢复”即可完成。
    在这里插入图片描述
    教你如何恢复手机通话记录的方法就是这么简单,其实这款恢复工具很强大不仅可以恢复通话记录。还可以短信、微信、照片恢复等功能,有需要的朋友赶快安装试试吧!

    展开全文
  • 我们和别人通话结束后,手机上会出现通话记录,但是要是不小心把这些通话记录删除了该怎么办?有找回来的方法吗?其实,安卓手机通话记录是可以找回来的,那怎样才能找回安卓手机通话记录呢?下面我们就来看看...

    我们和别人通话结束后,手机上会出现通话记录,但是要是不小心把这些通话记录删除了该怎么办?有找回来的方法吗?其实,安卓手机的通话记录是可以找回来的,那怎样才能找回安卓手机的通话记录呢?下面我们就来看看安卓手机通话记录恢复的教程吧。
    在这里插入图片描述
    第一步:首先我们可以在手机应用商城或者浏览器中搜索“极速数据恢复”这款恢复工具,下载并安装即可。
    在这里插入图片描述
    第二步:打开安装好的恢复工具,进入首页我们就可以看到八大恢复功能,选择你需要恢复的“通话记录恢复”功能。
    在这里插入图片描述
    第三步:然后系统会自动进入扫描状态,但是在扫描的过程中一定不要退出哦!这个时候我们只需要耐心等待几分钟就可以了。
    在这里插入图片描述
    第四步:扫描完成后,我们就可以对手机上的通话记录进行勾选,点击“恢复”按钮就可以完成恢复了。
    在这里插入图片描述
    上述的教程文就是小编分享恢复安卓手机通话记录的方法,只要按照以上步骤操作就可以完成通话记录恢复了,有需要的朋友可以安装试试哦!

    展开全文
  • 如何恢复手机通话记录?教你快速恢复。我们现在很多的时候会因为我们自己的一些私人原因对于我们的通话记录,我们每个人的态度也都是不同的,因此,我们有的时候会比较重视我们的通话记录。  那么若是我们不小心...
  • 取得手机通话历史记录 1.最近想研究一下获得手机历史通话记录,写了下面这个方法,通过log打出符合条件的通话记录,包括号码,电话连接时间,通话ID和通话时间: private Cursor getPhoneTracking(String number) ...
  • 获取手机通话记录流程: 1、 获取ContentResolver; ContentResolver resolver = getContentResolver(); 2、resolver.query(*); 需要传入通话记录的URI:CallLog.Calls.CONTENT_URI 3、对查询得到的Cursor进行...
  • 1、手机联系人的信息domain类:/** * @author Administrator * 手机联系人的信息封装 */ public class ContantBean { private String phone; private String name; public String getPhone() { return phone;...
  • 打造简单手机通话记录获取木马masepu(本文已发表于黑客防线,转载请注明出处)随着移动通信的不断发展,手机的性能不断提升,所拥有的功能也越来越丰富。以前只有PC机上才能够完成的工作现在在很多智能手机上也可以...
  • 查询手机通话记录短信内容. 帮助删除修改手机通话记录. 想知道自己的爱人和谁在约会吗?你想知道你的另一半真的在加班吗或出差?真正查出手机半年内通话记录,短消息收发记录,只要你查的是中国移动或联通在这 里仅仅...
  • 保留:http://wenku.baidu.com/link?url=ewjThgq7bsmlImm3nzHV82RxTK5feaC2J2Avlj4NMf5wz2PdNale-GwZxd5euO86Lghp_UDLUrIUzBPSbt4Gh7rFlZ5ENsCYl4GBRBIcniq
  • 1、第一步:安卓手机通话记录是哪个文件 /data/data/com.android.providers.contacts/databases/contacts2.db 手机Root后,用RE管理器查看这个SQLite数据库文件。 如果是来电记录,在这个数据库的call 表里。 2、...
  • 第一步,我们要通过plus.android.requestPermissions(['android.permission.READ_CALL_LOG', 'android.permission.WRITE_CALL_LOG', 'android.permission.CALL_PHONE']获取读取通话记录,写入通话记录,直接拨打通话...
  • 许多标准化组织和运营商对手机通话质量有详细客观的定义,如中国移动,美国T-Mobile均对手机入网有严格的要求,包括手机通话的延时,及在有一定网络损耗下的语音通话质量等等。 手机的语音通讯质量受声学设计及...
  • 通话记录是我们在使用手机与人通话之后或者是还未通话时再手机上留下来的记录,可以是已拨来电、已接来电、未接来电。对于这些记录大家都是不以为然的,认为并没有什么用,通常还会通话记录列表清空。但人总有失误的...
  • Android开发之获取手机通话记录
  • 手机通讯原理

    2011-10-12 17:12:44
    在我国北方的乡村,不少人家门前或院子里都有石磨。在村里随便走走,经常可以看到左邻右舍家有一老驴被蒙着眼睛围着大石磨不停地绕圈圈。那是老驴在拉磨。  春去秋来,年复一年,在中国的土地上,每天都不知道有...
  • 在我们使用手机的时候,难免会出现手机数据被删的情况,如果是之前有过数据备份,那也还好,至少可以从备份中恢复出来。可如果是没有提前做备份,那我们该如何将手机里删除的通话记录恢复呢?怎么恢复手机删除的通话...
  • 手机通讯信息在侦查中的运用。看文档内容。
  • 你是否也有这样的经历,不小心删除的通话记录恰好有非常重要的信息?(就是这么巧,不然故事怎么继续呢?)效率源妹儿也经常收到对删除通话记录恢复的需求,今天就给大家分享几种删除通话记录恢复方法,希望可以帮助...
1 2 3 4 5 ... 20
收藏数 114,778
精华内容 45,911
热门标签
关键字:

手机通讯