'전체 보기'에 해당되는 글 29건

  1. 2012.03.29 :: 졸라맨 서바이벌 어플
  2. 2011.06.17 :: PNG 파일
  3. 2011.06.13 :: 퇴근하자!
  4. 2011.06.13 :: 나는 가수다 - 김범수 (님과함께)
  5. 2011.06.13 :: 콩국수
  6. 2011.06.13 :: ColorPickerDialog
  7. 2011.06.13 :: SQLlite ALTER TABLE
  8. 2011.06.12 :: 장마가 온덴다..
  9. 2011.06.07 :: ALTER 명령문
  10. 2011.06.07 :: android DB ALTER

졸라맨 서바이벌 -> 카툰 서바이벌 어플 이름 변경!


카툰 서바이벌 3.0 엄청 잼있습니다.

발차기 주먹질 함 ㅋㅋ



'내 마음속 > 자유로운 영혼' 카테고리의 다른 글

졸라맨 서바이벌 어플  (0) 2012.03.29
퇴근하자!  (0) 2011.06.13
나는 가수다 - 김범수 (님과함께)  (0) 2011.06.13
콩국수  (0) 2011.06.13
장마가 온덴다..  (0) 2011.06.12
안녕하세요 ^^  (0) 2011.01.24
posted by zerowns
프로그래밍/스크랩 2011.06.17 11:50





 
매우 유용한 정보라기 보다는
스킬을 하나 배웠다 - 감사

 

'프로그래밍 > 스크랩' 카테고리의 다른 글

PNG 파일  (0) 2011.06.17
ALTER 명령문  (0) 2011.06.07
qr코드 구조  (0) 2011.06.07
QR 코드 인신 실패  (0) 2011.06.07
QR코드 원리  (0) 2011.06.07
이미지 프로세싱 기본 원리  (0) 2011.06.07
posted by zerowns
오늘은 일찍 도망가자
그리고 나븐 구글 언제까지 나 계정 안만들어 줄껴?

 

'내 마음속 > 자유로운 영혼' 카테고리의 다른 글

졸라맨 서바이벌 어플  (0) 2012.03.29
퇴근하자!  (0) 2011.06.13
나는 가수다 - 김범수 (님과함께)  (0) 2011.06.13
콩국수  (0) 2011.06.13
장마가 온덴다..  (0) 2011.06.12
안녕하세요 ^^  (0) 2011.01.24
posted by zerowns
뚜뚜루 뚜루뚜루 뚜뚜루 뚜루뚜루
뚜뚜루 뚜루뚜루 뚜뚜루 뚜루뚜루
뚜뚜루 뚜루뚜루 뚜뚜루 뚜루뚜루 뚜뚜루 뚜루뚜루 뚜뚜루 뚜루뚜루
뚜뚜루 뚜루뚜루 뚜뚜루 뚜루뚜루
뚜뚜루 뚜루뚜루 뚜뚜루 뚜루뚜루 

미치겠네  ㅜ_ㅜ

'내 마음속 > 자유로운 영혼' 카테고리의 다른 글

졸라맨 서바이벌 어플  (0) 2012.03.29
퇴근하자!  (0) 2011.06.13
나는 가수다 - 김범수 (님과함께)  (0) 2011.06.13
콩국수  (0) 2011.06.13
장마가 온덴다..  (0) 2011.06.12
안녕하세요 ^^  (0) 2011.01.24
posted by zerowns
벌써 여름인가 부다 콩국수를 점심으로 먹었다 냠냠~^^

분명.. 4시간 뒤에 배고프겠지 ㅠㅠ

'내 마음속 > 자유로운 영혼' 카테고리의 다른 글

퇴근하자!  (0) 2011.06.13
나는 가수다 - 김범수 (님과함께)  (0) 2011.06.13
콩국수  (0) 2011.06.13
장마가 온덴다..  (0) 2011.06.12
안녕하세요 ^^  (0) 2011.01.24
티스토리 첫글  (0) 2011.01.21
posted by zerowns
프로그래밍/Android 2011.06.13 11:47

public class ColorPickerDialog extends Dialog {
    private static int CENTER_X = 100;
    private static int CENTER_Y = 100;
    private static int CENTER_RADIUS = 32;

    public interface OnColorChangedListener {
        void colorChanged(int color);
    }

    private OnColorChangedListener mListener;
    private int mInitialColor;

    private class ColorPickerView extends View {
        private Paint mPaint;
        private Paint mCenterPaint;
        private final int[] mColors;
        private OnColorChangedListener mListener;
        
        ColorPickerView(Context c, OnColorChangedListener l, int color) {
            super(c);
            mListener = l;
            mColors = new int[] {
                0xFFFF0000, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, 0xFF00FF00,
                0xFFFFFF00, 0xFFFFFFFF, 0xFF808080, 0xFF000000, 0xFFFF0000
            };
            Shader s = new SweepGradient(0, 0, mColors, null);
            
            mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
            mPaint.setShader(s);
            mPaint.setStyle(Paint.Style.STROKE);
            mPaint.setStrokeWidth(CENTER_RADIUS);
            
            mCenterPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
            mCenterPaint.setColor(color);
            mCenterPaint.setStrokeWidth(5);
        }
        
        private boolean mTrackingCenter;
        private boolean mHighlightCenter;

        @Override 
        protected void onDraw(Canvas canvas) {
            float r = CENTER_X - mPaint.getStrokeWidth()*0.8f;
            
            canvas.translate(CENTER_X, CENTER_X);
            
            canvas.drawOval(new RectF(-r, -r, r, r), mPaint);            
            canvas.drawCircle(0, 0, CENTER_RADIUS, mCenterPaint);
            
            if (mTrackingCenter) {
                int c = mCenterPaint.getColor();
                mCenterPaint.setStyle(Paint.Style.STROKE);
                
                if (mHighlightCenter) {
                    mCenterPaint.setAlpha(0xFF);
                } else {
                    mCenterPaint.setAlpha(0x80);
                }
                canvas.drawCircle(0, 0,
                                  CENTER_RADIUS + mCenterPaint.getStrokeWidth(),
                                  mCenterPaint);
                
                mCenterPaint.setStyle(Paint.Style.FILL);
                mCenterPaint.setColor(c);
            }
        }
        
        @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            setMeasuredDimension(CENTER_X*2, CENTER_Y*2);
        }

        public void setCenterColor(int color) {
            mCenterPaint.setColor(color);
            invalidate();
        }
        
        public void setTransparency(int alpha) {
            int color = mCenterPaint.getColor();            
            int newColor = Color.argb(alpha, Color.red(color), Color.green(color), Color.blue(color));
            mCenterPaint.setColor(newColor);
            mEditText.setText(convertToARGB(newColor));
            invalidate();
        }
        
        private int ave(int s, int d, float p) {
            return s + java.lang.Math.round(p * (d - s));
        }
        
        private int interpColor(int colors[], float unit) {
            if (unit <= 0) {
                return colors[0];
            }
            if (unit >= 1) {
                return colors[colors.length - 1];
            }
            
            float p = unit * (colors.length - 1);
            int i = (int)p;
            p -= i;

            // now p is just the fractional part [0...1) and i is the index
            int c0 = colors[i];
            int c1 = colors[i+1];
            int a = ave(Color.alpha(c0), Color.alpha(c1), p);
            int r = ave(Color.red(c0), Color.red(c1), p);
            int g = ave(Color.green(c0), Color.green(c1), p);
            int b = ave(Color.blue(c0), Color.blue(c1), p);
            
            return Color.argb(a, r, g, b);
        }
               
        private static final float PI = 3.1415926f;

        @Override
        public boolean onTouchEvent(MotionEvent event) {
            float x = event.getX() - CENTER_X;
            float y = event.getY() - CENTER_Y;
            boolean inCenter = java.lang.Math.sqrt(x*x + y*y) <= CENTER_RADIUS;
            
            switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    mTrackingCenter = inCenter;
                    if (inCenter) {
                        mHighlightCenter = true;
                        invalidate();
                        break;
                    }
                case MotionEvent.ACTION_MOVE:
                    if (mTrackingCenter) {
                        if (mHighlightCenter != inCenter) {
                            mHighlightCenter = inCenter;
                            invalidate();
                        }
                    } else {
                        float angle = (float)java.lang.Math.atan2(y, x);
                        // need to turn angle [-PI ... PI] into unit [0....1]
                        float unit = angle/(2*PI);
                        if (unit < 0) {
                            unit += 1;
                        }
                        int color = interpColor(mColors, unit);
                        mCenterPaint.setColor(color);
                        mEditText.setText(convertToARGB(color));
                        invalidate();
                    }
                    break;
                case MotionEvent.ACTION_UP:
                    if (mTrackingCenter) {
                        if (inCenter) {
                            mListener.colorChanged(mCenterPaint.getColor());
                        }
                        mTrackingCenter = false;    // so we draw w/o halo
                        invalidate();
                    }
                    break;
            }
            return true;
        }
    }
    
    private String convertToARGB(int color) {
        String alpha = Integer.toHexString(Color.alpha(color));
        String red = Integer.toHexString(Color.red(color));
        String green = Integer.toHexString(Color.green(color));
        String blue = Integer.toHexString(Color.blue(color));        
        
        if (alpha.length() == 1) {
            alpha = "0" + alpha;
        }
        
        if (red.length() == 1) {
            red = "0" + red;
        }
        
        if (green.length() == 1) {
            green = "0" + green;
        }
        
        if (blue.length() == 1) {
            blue = "0" + blue;
        }
        
        return "#" + alpha + red + green + blue;
    }
    
    private int convertToColorInt(String argb) throws NumberFormatException {       
        
        int alpha = -1, red = -1, green = -1, blue = -1;
            
        if (argb.length() == 8) {
            alpha = Integer.parseInt(argb.substring(0, 2), 16);
            red = Integer.parseInt(argb.substring(2, 4), 16);
            green = Integer.parseInt(argb.substring(4, 6), 16);
            blue = Integer.parseInt(argb.substring(6, 8), 16);
        }
        else if (argb.length() == 6) {
            alpha = 255;
            red = Integer.parseInt(argb.substring(0, 2), 16);
            green = Integer.parseInt(argb.substring(2, 4), 16);
            blue = Integer.parseInt(argb.substring(4, 6), 16);
        }
        
        return Color.argb(alpha, red, green, blue);        
    }
    
    private Context mContext;
    private EditText mEditText;
    private ColorPickerView mColorPickerView;
    private SeekBar mTransparencyBar;

    public ColorPickerDialog11(Context context, OnColorChangedListener listener, int initialColor) {
        super(context);
        mContext = context;
        mListener = listener;
        mInitialColor = initialColor;
       // CENTER_Y=CENTER_X=context.getResources().getDimensionPixelSize(R.dimen.color_picker_center);
       // CENTER_RADIUS=context.getResources().getDimensionPixelSize(R.dimen.color_picker_radius);
    }

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        LinearLayout layout = new LinearLayout(mContext);
        layout.setOrientation(LinearLayout.VERTICAL);
        layout.setGravity(android.view.Gravity.CENTER); 
        
        LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,
                                                    LinearLayout.LayoutParams.WRAP_CONTENT);
        layoutParams.setMargins(10, 0, 10, 5);
        
        TextView tv = new TextView(mContext);
        //tv.setText(mContext.getString(R.string.pref_dialog_message_color_picker));
        layout.addView(tv, layoutParams);
        
        mColorPickerView = new ColorPickerView(getContext(), onColorChangedListener, mInitialColor);        
        layout.addView(mColorPickerView, layoutParams);
        
        mTransparencyBar = new SeekBar(mContext);
        mTransparencyBar.setMax(255);
//mTransparencyBar.setProgressDrawable(new TextSeekBarDrawable(mContext.getResources(), mContext.getString(R.string.pref_dialog_color_picker_alpha), true));
mTransparencyBar.setProgress(Color.alpha(mInitialColor));
mTransparencyBar.setOnSeekBarChangeListener(onTransparencyChangedListener);
layout.addView(mTransparencyBar, layoutParams);
        
        mEditText = new EditText(mContext);
        mEditText.addTextChangedListener(mEditTextListener);
        mEditText.setText(convertToARGB(mInitialColor));
        layout.addView(mEditText, layoutParams);

        setContentView(layout);
        setTitle(" 글자색 변경!!");
    }
    
    private OnColorChangedListener onColorChangedListener = new OnColorChangedListener() {
        public void colorChanged(int color) {
           mListener.colorChanged(color);
           dismiss();
        }
    };
    
    private SeekBar.OnSeekBarChangeListener onTransparencyChangedListener = new SeekBar.OnSeekBarChangeListener() {
        
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            mColorPickerView.setTransparency(progress);
        }
        
        public void onStartTrackingTouch(SeekBar seekBar) {
        }

        public void onStopTrackingTouch(SeekBar seekBar) {
        }
    };
    
    private TextWatcher mEditTextListener = new TextWatcher() {
        
        public void afterTextChanged(Editable s) {
        }
        
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }
        
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            try {
                String s2 = (s.toString()).replace("#", "");
                if (s2.length() == 6 || s2.length() == 8) {
                    int color = convertToColorInt(s2);
                    mColorPickerView.setCenterColor(color);
                    mTransparencyBar.setProgress(Color.alpha(color));
                }            
            }
            catch (NumberFormatException e) {
            }
        } 
    };
    
    //Source: http://www.anddev.org/announce_color_picker_dialog-t10771.html
static final int[] STATE_FOCUSED = {android.R.attr.state_focused};
static final int[] STATE_PRESSED = {android.R.attr.state_pressed};
    
    static class TextSeekBarDrawable extends Drawable implements Runnable {
private static final long DELAY = 50;
private String mText;
private Drawable mProgress;
private Paint mPaint;
private Paint mOutlinePaint;
private float mTextWidth;
private boolean mActive;
private float mTextXScale;
private int mDelta;
private ScrollAnimation mAnimation;

public TextSeekBarDrawable(Resources res, String label, boolean labelOnRight) {
mText = label;
mProgress = res.getDrawable(android.R.drawable.progress_horizontal);
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mPaint.setTypeface(Typeface.DEFAULT_BOLD);
mPaint.setTextSize(16);
mPaint.setColor(0xff000000);
mOutlinePaint = new Paint(mPaint);
mOutlinePaint.setStyle(Style.STROKE);
mOutlinePaint.setStrokeWidth(3);
mOutlinePaint.setColor(0xbbffc300);
mOutlinePaint.setMaskFilter(new BlurMaskFilter(1, Blur.NORMAL));
mTextWidth = mOutlinePaint.measureText(mText);
mTextXScale = labelOnRight? 1 : 0;
mAnimation = new ScrollAnimation();
}

@Override
protected void onBoundsChange(Rect bounds) {
mProgress.setBounds(bounds);
}
@Override
protected boolean onStateChange(int[] state) {
mActive = StateSet.stateSetMatches(STATE_FOCUSED, state) | StateSet.stateSetMatches(STATE_PRESSED, state);
invalidateSelf();
return false;
}
@Override
public boolean isStateful() {
return true;
}
@Override
protected boolean onLevelChange(int level) {
// Log.d(TAG, "onLevelChange " + level);
if (level < 4000 && mDelta <= 0) {
// Log.d(TAG, "onLevelChange scheduleSelf ++");
mDelta = 1;
mAnimation.startScrolling(mTextXScale, 1);
scheduleSelf(this, SystemClock.uptimeMillis() + DELAY);
} else
if (level > 6000 && mDelta >= 0) {
// Log.d(TAG, "onLevelChange scheduleSelf --");
mDelta = -1;
mAnimation.startScrolling(mTextXScale, 0);
scheduleSelf(this, SystemClock.uptimeMillis() + DELAY);
}
return mProgress.setLevel(level);
}
@Override
public void draw(Canvas canvas) {
mProgress.draw(canvas);

if (mAnimation.hasStarted() && !mAnimation.hasEnded()) {
// pending animation
mAnimation.getTransformation(AnimationUtils.currentAnimationTimeMillis(), null);
mTextXScale = mAnimation.getCurrent();
// Log.d(TAG, "draw " + mTextX + " " + SystemClock.uptimeMillis());
}
Rect bounds = getBounds();
float x = 6 + mTextXScale * (bounds.width() - mTextWidth - 6 - 6);
float y = (bounds.height() + mPaint.getTextSize()) / 2;
mOutlinePaint.setAlpha(mActive? 255 : 255 / 2);
mPaint.setAlpha(mActive? 255 : 255 / 2);
canvas.drawText(mText, x, y, mOutlinePaint);
canvas.drawText(mText, x, y, mPaint);
}

@Override
public int getOpacity() {
return PixelFormat.TRANSLUCENT;
}

@Override
public void setAlpha(int alpha) {
}

@Override
public void setColorFilter(ColorFilter cf) {
}

public void run() {
mAnimation.getTransformation(AnimationUtils.currentAnimationTimeMillis(), null);
// close interpolation of mTextX
mTextXScale = mAnimation.getCurrent();
if (!mAnimation.hasEnded()) {
scheduleSelf(this, SystemClock.uptimeMillis() + DELAY);
}
invalidateSelf();
// Log.d(TAG, "run " + mTextX + " " + SystemClock.uptimeMillis());
}
}
static class ScrollAnimation extends Animation {
private static final long DURATION = 750;
private float mFrom;
private float mTo;
private float mCurrent;
public ScrollAnimation() {
setDuration(DURATION);
setInterpolator(new DecelerateInterpolator());
}
public void startScrolling(float from, float to) {
mFrom = from;
mTo = to;
startNow();
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
mCurrent = mFrom + (mTo - mFrom) * interpolatedTime;
// Log.d(TAG, "applyTransformation " + mCurrent);
}
public float getCurrent() {
return mCurrent;
}
}
}

'프로그래밍 > Android' 카테고리의 다른 글

ColorPickerDialog  (0) 2011.06.13
SQLlite ALTER TABLE  (0) 2011.06.13
android DB ALTER  (0) 2011.06.07
GPS  (0) 2011.06.07
증강현실  (0) 2011.06.07
compass  (0) 2011.06.07
posted by zerowns
프로그래밍/Android 2011.06.13 11:43

 @Override
 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  if (oldVersion >= newVersion)
   return;
  String sql = null;
  if (oldVersion == 1) 
   sql = "alter table " + TABLE + " add note text;"; //추가
  if (oldVersion == 2)
   sql = "alter table " + TABLE + " DROP note text;";//삭제
  if (sql != null)
   db.execSQL(sql);
 }
}

'프로그래밍 > Android' 카테고리의 다른 글

ColorPickerDialog  (0) 2011.06.13
SQLlite ALTER TABLE  (0) 2011.06.13
android DB ALTER  (0) 2011.06.07
GPS  (0) 2011.06.07
증강현실  (0) 2011.06.07
compass  (0) 2011.06.07
posted by zerowns

나의 텃밭은 어떻게 되는가 ㅡㅜ

'내 마음속 > 자유로운 영혼' 카테고리의 다른 글

퇴근하자!  (0) 2011.06.13
나는 가수다 - 김범수 (님과함께)  (0) 2011.06.13
콩국수  (0) 2011.06.13
장마가 온덴다..  (0) 2011.06.12
안녕하세요 ^^  (0) 2011.01.24
티스토리 첫글  (0) 2011.01.21
posted by zerowns
프로그래밍/스크랩 2011.06.07 18:41

db-alter table 명령문

문이2010-04-27 12:13:00주소복사
조회 25  스크랩 0

/*5.7  테이블 구조 변경(열의 추가)*/
 
create table diplomas 
(
    course  varchar(20)  not null,
    student varchar(10)  not null, 
    cou_num int(2), 
    end_date date        not null, 
    primary key (course, student, end_date)

select * from diplomas 
drop table diplomas

insert diplomas values('웹프로그래밍','공자','2','2007-07-25');
insert diplomas values('웹프로그래밍','맹자','3','2007-07-25');

 

/*ALTER TABLE 명령문의 기능 
- 테이블에 새로운 열을 추가한다. 
- 기존에 존재하는 열을 삭제한다. 
- 자료형의 길이를 변경한다. 
- 기존에 존재하는 열의 자료형을 특별한 조건하에서 변경할 수 있다. 
- 기본 키와 같은 새로운 무결성 규칙을 추가할 수 있다. 
- 기존에 존재하는 무결성 규칙을 삭제할 수 있다. */

 

/*sex 항목을 추가*/
alter table diplomas
add sex char(2)

 

/*sex열의 길이를 2에서 4로 증가*/
alter table diplomas
modify sex char(4)

 

/*sex열의 자료형을 char에서 int로 수정*/
alter table diplomas
modify sex int

 

/*기본키삭제*/
alter table diplomas
drop primary key

 

/*기본키추가*/
alter table diplomas
add primary key(student)


/*테이블복사*/
create table diplomas_copy
as
select * from diplomas

drop table diplomas_copy


/*primary key 등의 무결성 부분은 복사되지 않는다.
백업용 명령문*/
select * from diplomas_copy

 

/*desc 데이터 베이스 안의 구조를 볼때 사용되는 명령문(함수)*/
desc diplomas;
desc diplomas_copy;

 

/*테이블 이름변경*/
alter table diplomas
rename new_diplomas

select * from diplomas /*이름이 바껴서 존재하지 않는 테이블로 나온다.*/
select * from new_diplomas

 

'프로그래밍 > 스크랩' 카테고리의 다른 글

PNG 파일  (0) 2011.06.17
ALTER 명령문  (0) 2011.06.07
qr코드 구조  (0) 2011.06.07
QR 코드 인신 실패  (0) 2011.06.07
QR코드 원리  (0) 2011.06.07
이미지 프로세싱 기본 원리  (0) 2011.06.07
posted by zerowns
프로그래밍/Android 2011.06.07 18:37

그냥 업그레이드 진행 하다가  DB날려먹고 눈물을 머금고 ㅡㅜ
실수 하지말자!

문제의 코드

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + DB_TABLE_NAME);
onCreate(db);
}

public abstract void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion)

Since: API Level 1

Called when the database needs to be upgraded. The implementation should use this method to drop tables, add tables, or do anything else it needs to upgrade to the new schema version.

The SQLite ALTER TABLE documentation can be found here. If you add new columns you can use ALTER TABLE to insert them into a live table. If you rename or remove columns you can use ALTER TABLE to rename the old table, then create the new table and then populate the new table with the contents of the old table.

Parameters
dbThe database.
oldVersionThe old database version.
newVersionThe new database version.

'프로그래밍 > Android' 카테고리의 다른 글

ColorPickerDialog  (0) 2011.06.13
SQLlite ALTER TABLE  (0) 2011.06.13
android DB ALTER  (0) 2011.06.07
GPS  (0) 2011.06.07
증강현실  (0) 2011.06.07
compass  (0) 2011.06.07
posted by zerowns

티스토리 툴바