Skip to content

JokBal/JsynkManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

#JsynkManager

  • This Library is help to make android or java messaging apllication.

##Make Chat

  • Make Chat UI.

<FrameLayout
        android:id="@+id/actionBar"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_alignParentTop="true"
        android:background="@drawable/actionbar_bg" >

    <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent"
                  android:layout_alignParentLeft="true" android:id="@+id/linearLayout">
        <ImageButton android:id="@+id/unsubImageButton" android:layout_width="48dp" android:layout_height="48dp"
                     android:background="@drawable/action_bar_bg_selector"
                     android:src="@drawable/todaymovie_history_icon_back"/>
        <LinearLayout android:id="@+id/actionBarDivderLayout2" android:layout_width="0.5dp"
                      android:layout_height="match_parent" android:layout_marginBottom="2dp"
                      android:background="@drawable/actionbar_stroke_v" android:orientation="vertical"/>
    </LinearLayout>
    <TextView
            android:id="@+id/subjectTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="채팅"
            android:textColor="#ffffff"
            android:textSize="22sp"
            android:textStyle="bold" />
</FrameLayout>

<ListView
        android:id="@+id/messageListView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:divider="#777"
        android:dividerHeight="0px"
        android:layout_below="@+id/actionBar"
        android:layout_above="@+id/formRelativeLayout">
</ListView>
<RelativeLayout
        android:id="@+id/formRelativeLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:orientation="vertical" >


    <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="2dp"
            android:background="#32649B">
    </FrameLayout>
    <EditText
            android:id="@+id/messageEditText"
            android:layout_width="245dp"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:inputType="text"/>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="전송"
            android:id="@+id/sendButton" android:layout_alignParentRight="true"/>
</RelativeLayout>
  • Make Channel

.. code-block::

private static JSynkManager mJSynkManager = null;

private PresenceChannel mPresenceChannel;

public void onCreate(Bundle savedInstanceState) {
    mJSynkManager = JSynkManager.getInstance();
    mJSynkManager.setUser(UserInfo.getUserInfo(getActivity()));
    mJSynkManager.connect();
    mPresenceChannel = mJSynkManager.getPusher().subscribePresence(CHANNELNAME, this, "client-chat-message");
}

@Override
public void onEvent(String channelName, String eventName, String data) {
    String msg = String.format("Event received: [%s] [%s] [%s]", channelName, eventName, data);
    Log.d("jsynk", msg);
    new ApplyEventTask().execute(data);
}

private void trigger(String data)
{
  if(mJSynkManager.getPusher().getConnection().getState() == ConnectionState.CONNECTED)
  {
      mPresenceChannel.trigger("client-chat-message", data);
  }
}

class ApplyEventTask extends AsyncTask<String, Void, Message> {

  @Override
  protected Message doInBackground(String... params) {
      String data = params[0];
      
      TODO
      processing event data.
  }
  
  @Override
  protected void onPostExecute(Message message) {
      
      TODO
      Apply Data in UI Thread.
  }
}
  • GCM Connect

.. code-block::

private void initializeGCM()
{
    GCMRegistrar.checkDevice(this);
    GCMRegistrar.checkManifest(this);
    registerToken();
}

private void registerToken()
{
    // registration ID
    final String regId = GCMRegistrar.getRegistrationId(this);
    if (regId.equals(""))
    {
        GCMRegistrar.register(this, "612122059883");
    }
    else
    {
        jSynkManager.setGcmKey(regId);
    }
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages