рдЬрд╛рд╡рд╛ рдореЗрдВ рд╡реАрдХреЗ рдиреЛрдЯрд┐рдлрд╝рд╛рдпрд░

рдПрдХ рдмрд╛рд░ рдореБрдЭреЗ рдРрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓рд╛, рдЬрд┐рд╕рдХреЗ рдЧреНрд░рд╛рд╣рдХ рдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ Vkontakte рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрд╛ред рдЪреВрдВрдХрд┐ рдореИрдВ рдЗрд╕ рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рднреЗрдЬреЗ рдЧрдП рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЧрддрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереАред рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреА рдкреАрда рдХреЗ рдирд┐рдЪрд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЦреАрдВрдЪ рд▓рд┐рдпрд╛ рдФрд░ рдХреБрдЫ рджрд┐рди рдПрдХ рдЪрд╛рд░рдкрд╛рдИ рдореЗрдВ рдмрд┐рддрд╛рдПред рдЪреВрдБрдХрд┐ рд▓реЗрдЯрдиреЗ рдХреЗ рджреМрд░рд╛рди рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЧрд▓реЗ рдореЗрдВ рдЦрд░рд╛рд╢ рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ рдПрдХ рд╣реА рдЭрдЯрдХреЗ рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдорд╛рд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛:

рдмрд┐рд▓реНрд▓реА рдХреЗ рддрд╣рдд рдкрд░рд┐рдгрд╛рдореА рдЬрд╛рд╡рд╛ рдЪрд┐рдХрд┐рддреНрд╕рд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдоред

рдореИрдВ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдХрднреА рдЬрд╛рд╡рд╛ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рдкреНрд░рддрд┐рднрд╛рд╢рд╛рд▓реА рд╣реЛрдиреЗ рдХрд╛ рдирд╛рдЯрдХ рдирд╣реАрдВ рдХрд░рддрд╛ред
рдПрдХ рд╣рдВрд╕реА рдХреЗ рдмрд╛рдж, рд╕рд╣рдЬ рд╣реЛ рдЬрд╛рдирд╛ рдФрд░ рдЪрд╛рд░реНрдЬ рдХреЛ рдХрд░реАрдм рд▓реЗ рдЬрд╛рдирд╛, рдореИрдВрдиреЗ рдЗрд╕ рдЕрджреНрднреБрдд рднрд╛рд╖рд╛ рдореЗрдВ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдЖрд╡реЗрджрди рд╢реБрд░реВ рдХрд┐рдпрд╛ред
рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдореИрдВрдиреЗ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╡рд╣ рдореЗрд░реЗ рдиреЛрдЯрд┐рдлрд╝рд╛рдпрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдлреНрд░реЗрдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдерд╛ред рдореБрдЭреЗ рдХреЗрд╡рд▓ рдПрдХ рд╕рд░рд▓ рдЯреНрд░реЗ рдореЗрдиреВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреЙрдк рдЕрдк рдХрд░реЗрдЧрд╛ред

//   PopupMenu popup = new PopupMenu(); //   MenuItem exitItem = new MenuItem(""); //    exitItem.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { System.exit(0); } }); //    popup.add(exitItem); SystemTray systemTray = SystemTray.getSystemTray(); Image image = Toolkit.getDefaultToolkit().getImage("vk_icon.png"); TrayIcon trayIcon = new TrayIcon(image,"VKNotifer",popup); trayIcon.setImageAutoSize(true); //    systemTray.add(trayIcon); //  trayIcon.displayMessage("VKNotifer", "",TrayIcon.MessageType.INFO); 

рдЕрдм рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╡рд░реНрддрдорд╛рди рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ APK Vkontakte рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЖрдкреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореВрд▓рднреВрдд рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ ред
рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдЪреАрдЬ рдПрдХ Vkontakte рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рд╣реИ , рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреА рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреАред
рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХрд╛ рджреВрд╕рд░рд╛ рдЪрд░рдг рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдгреЛрдВ рд╕реЗ рдЧреБрдЬрд░рдирд╛ рд╣реЛрдЧрд╛:
  1. рдкреНрд░рд╛рдзрд┐рдХрд░рдг
  2. рдЖрд╡рд╢реНрдпрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рдкреБрд╖реНрдЯрд┐
  3. рд╕реАрдзреЗ рдЯреЛрдХрди рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ

рдЙрд╕рдХреЗ рдмрд╛рдж, рдЯреЛрдХрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рдПрдкреАрдЖрдИ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рд╣реИред
рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ VKapi рд╡рд░реНрдЧ рдмрдирд╛рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рджреЛ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реЛрдВрдЧреА: рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рд╡рд┐рдзрд┐ рдПрдХ - рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛:
 HttpClient httpClient = new DefaultHttpClient(); //    HttpPost post = new HttpPost("http://oauth.vk.com/authorize?" + "client_id="+client_id+ "&scope="+scope+ "&redirect_uri="+redirect_uri+ "&display="+display+ "&response_type="+response_type); HttpResponse response; response = httpClient.execute(post); post.abort(); //  String HeaderLocation = response.getFirstHeader("location").getValue(); URI RedirectUri = new URI(HeaderLocation); //          //ip_h  to_h String ip_h= RedirectUri.getQuery().split("&")[2].split("=")[1]; String to_h=RedirectUri.getQuery().split("&")[4].split("=")[1]; //    post = new HttpPost("https://login.vk.com/?act=login&soft=1"+ "&q=1"+ "&ip_h="+ip_h+ "&from_host=oauth.vk.com"+ "&to="+to_h+ "&expire=0"+ "&email="+email+ "&pass="+pass); response = httpClient.execute(post); post.abort(); //       HeaderLocation = response.getFirstHeader("location").getValue(); post = new HttpPost(HeaderLocation); //    response = httpClient.execute(post); post.abort(); //       HeaderLocation = response.getFirstHeader("location").getValue(); //    post = new HttpPost(HeaderLocation); response = httpClient.execute(post); post.abort(); //       HeaderLocation = response.getFirstHeader("location").getValue(); //     access_token = HeaderLocation.split("#")[1].split("&")[0].split("=")[1]; 

рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ Vkontakte рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рд╣реИред рд╡рд┐рдзрд┐
рд╡рд┐рдзрд┐ рджреЛ - рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
 //   String url = "https://api.vk.com/method/"+ "messages.get"+ "?out=0"+ "&access_token="+access_token ; String line = ""; try { URL url2 = new URL(url); BufferedReader reader = new BufferedReader(new InputStreamReader(url2.openStream())); line = reader.readLine(); reader.close(); } catch (MalformedURLException e) { // ... } catch (IOException e) { // ... } return line; 

рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрдХреНрд╖рд╛:
 public class VKapi { private String client_id = "2971510"; private String scope = "messages"; private String redirect_uri = "http://oauth.vk.com/blank.html"; private String display = "popup"; private String response_type = "token"; private String access_token; private String email = "******";//    email private String pass = "******";//     public void setConnection() throws IOException, URISyntaxException { //    token'a } public String getNewMessage() throws ClientProtocolException, IOException, NoSuchAlgorithmException, URISyntaxException { //      } } 

рдЬреЛ рдХреБрдЫ рднреА рд░рд╣рддрд╛ рд╣реИ рд╡рд╣ рдХреНрд▓рд╛рд╕ рдХреЛ рддрддреНрдХрд╛рд▓ рдХрд░рдирд╛, рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдФрд░ рдПрдХ рдЕрдВрддрд╣реАрди рд▓реВрдк рдореЗрдВ рд╕рдВрджреЗрд╢ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред рдпрджрд┐ рдирдИ рдкреНрд░рд╛рдкреНрдд рд╕реВрдЪреА рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИ, рддреЛ рд╣рдо рдПрдХ рдирдП рд╕рдВрджреЗрд╢ рдХреА рд╕реВрдЪрдирд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдирддреАрдЬрддрди, рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
 public static void main(String[] args) throws IOException, URISyntaxException, AWTException, InterruptedException, NoSuchAlgorithmException { //   PopupMenu popup = new PopupMenu(); //   MenuItem exitItem = new MenuItem(""); //    exitItem.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { System.exit(0); } }); //    popup.add(exitItem); SystemTray systemTray = SystemTray.getSystemTray(); //  Image image = Toolkit.getDefaultToolkit().getImage("vk_icon.png"); TrayIcon trayIcon = new TrayIcon(image,"VKNotifer",popup); trayIcon.setImageAutoSize(true); //    systemTray.add(trayIcon); trayIcon.displayMessage("VKNotifer", "  ",TrayIcon.MessageType.INFO); //    VKapi vkAPI = new VKapi(); //  vkAPI.setConnection(); trayIcon.displayMessage("VKNotifer", " ",TrayIcon.MessageType.INFO); //  String oldMessage = vkAPI.getNewMessage(); String newMessage; int i = 0; for (;;){ //        3  Thread.sleep(3000); //    if (i == 15000){ //   45 000  (   ,     ) vkAPI.setConnection(); //   Thread.sleep(3000); //        i = 0; } //  newMessage = vkAPI.getNewMessage(); if (!newMessage.equals(oldMessage)) { oldMessage = newMessage; trayIcon.displayMessage("VKNotifer", "  ",TrayIcon.MessageType.INFO); Tools.playDrum(Drum.d53_Ride_Bell, 127,0); } i++; } } 

рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдзреНрд╡рдирд┐ рдЪреЗрддрд╛рд╡рдиреА рднреА рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИред
 Tools.playDrum(Drum.d53_Ride_Bell, 127,0); 

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╡рд┐рд╖рдп рд╕реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЖрджрд░реНрд╢ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

Source: https://habr.com/ru/post/In144813/


All Articles